I tried creating a rule like:
create rule "_RETURN" as on select to asfd do instead select * from blah;
And it worked.
But it doesn't appear in pg_rules.
I created this one:
create rule myrule as on insert to asfd do instead nothing;
And it does appear:
test=# select * from pg_rules ;schemaname | tablename | rulename |
definition
------------+-------------+---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------pg_catalog
|pg_settings | pg_settings_n | CREATE RULE pg_settings_n AS
ON UPDATE TO pg_settings DO INSTEAD NOTHING;pg_catalog | pg_settings | pg_settings_u | CREATE RULE pg_settings_u AS
ON UPDATE TO pg_settings WHERE (new.name = old.name) DO SELECT
set_config(old.name, new.setting, false) AS set_config;chriskl | asfd | myrule | CREATE RULE myrule AS
ON
INSERT TO asfd DO INSTEAD NOTHING;
(3 rows)
What gives?
Chris