Or, depending if you just want to ignore updates to that field (not always best, but possible, similar to a view).
CREATE OR REPLACE FUNCTION block_col() RETURNS TRIGGER AS ' BEGIN NEW.ts_field := OLD.ts_field; RETURN NEW; END; ' LANGUAGE PLPGSQL; In place of the assignment, you could also test for inequality and raise an error as Doug suggested: IF NEW.ts_field != OLD.ts_field THEN RAISE EXCEPTION ''Update to % Not Permitted'', ts_field END IF; Best Wishes, Chris Travers On Sat, 2003-12-13 at 23:24, Doug McNaught wrote: > Claudio Succa <[EMAIL PROTECTED]> writes: > > > (Not to reinvent the wheel, do you know where I could find a suitable > > function to use in the trigger?) > > No, but it should be pretty trivial to write. Just set up a BEFORE > UPDATE trigger that compares OLD.ts_field against NEW.ts_field and > does a RAISE ERROR if they're different. The PL/pgSQL docs have a few > decent examples of how to write a trigger function. > > -Doug > > ---------------------------(end of broadcast)--------------------------- > TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED] > > ---------------------------(end of broadcast)--------------------------- TIP 6: Have you searched our list archives? http://archives.postgresql.org