Re: Stamping rows...
От | Greg Sabino Mullane |
---|---|
Тема | Re: Stamping rows... |
Дата | |
Msg-id | 20d7d6be8697b20a7ba8a1b09cbff757@biglumber.com обсуждение исходный текст |
Ответ на | Stamping rows... ("Di Croce, Tony" <tdicroce@pelco.com>) |
Ответы |
Re: Stamping rows...
|
Список | pgsql-admin |
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 > I am trying to find a way to stamp all of the rows affected by > an update (or insert) with a unique value. For example, consider > the following table: ... > At first I tried to do this as a trigger function. You were on the right path: ALTER TABLE people ADD mtime TIMESTAMPTZ NOT NULL DEFAULT now(); CREATE OR REPLACE FUNCTION update_mtime() RETURNS TRIGGER LANGUAGE PLPGSQL AS 'BEGIN NEW.mtime = now(); RETURN NEW; END;'; CREATE TRIGGER people_update_mtime BEFORE UPDATE ON people FOR EACH ROW EXECUTE PROCEDURE update_mtime(); (I use a version of this for my incremental backup scheme) Now every update (or insert) will cause all the rows changed to have the same unique value. Unless you mess with your system clock. :) As a nice bonus, you also get to see *when* each row was modified. - -- Greg Sabino Mullane greg@turnstep.com PGP Key: 0x14964AC8 200411222111 -----BEGIN PGP SIGNATURE----- iD8DBQFBop11vJuQZxSWSsgRAuioAKDoVJjASMy0IYQ/T8mO76GEJKQdHQCg2KY7 13ul0+pLO+vEBEjGorUYiIA= =rQnL -----END PGP SIGNATURE-----
В списке pgsql-admin по дате отправления: