Arturs Zoldners <az(at)rpiva(dot)lv> writes:
> -- The following rule prevents user x to update public_data:
> CREATE RULE log_public AS ON UPDATE TO private_data WHERE (new.a <>
> old.a) DO INSERT INTO private_log (old_val, new_val) VALUES (old.a,
> new.a);
This is a known problem. It's fixed for 7.5 but there seems no way to
back-port the fix into existing release series (without forcing initdb).
The error is essentially that the use of an INSERT command as the rule
body causes the original view to be checked for INSERT rather than
UPDATE permissions ...
regards, tom lane