Fabien COELHO <coelho(at)cri(dot)ensmp(dot)fr> writes:
> I'm trying to use some RULE as simple and maybe slower TRIGGER, so as to
> make it impossible for a row to be modified once a boolean is set to lock
> it.
> ...
> However I thing that this would look much better to write simply:
> CREATE RULE PasTouche AS ON UPDATE TO foo
> WHERE old.locked=TRUE
> DO INSTEAD ERROR;
This would be sensible if rules were actually reasonable substitutes for
triggers, but they are not. If you check the archives you will find
many many cases where people tried to do this sort of thing, and got
burned by the fundamental semantic differences ...
regards, tom lane