Re: Stamping rows...

From: "Greg Sabino Mullane" <greg(at)turnstep(dot)com>
To: pgsql-admin(at)postgresql(dot)org
Cc: dicroce(at)pelco(dot)com
Subject: Re: Stamping rows...
Date: 2004-11-23 02:14:52
Message-ID: 20d7d6be8697b20a7ba8a1b09cbff757@biglumber.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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(at)turnstep(dot)com
PGP Key: 0x14964AC8 200411222111

-----BEGIN PGP SIGNATURE-----

iD8DBQFBop11vJuQZxSWSsgRAuioAKDoVJjASMy0IYQ/T8mO76GEJKQdHQCg2KY7
13ul0+pLO+vEBEjGorUYiIA=
=rQnL
-----END PGP SIGNATURE-----

In response to

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Michael Fuhr 2004-11-23 02:43:29 Re: Stamping rows...
Previous Message Chris Hoover 2004-11-22 21:03:11 Re: URGENT - HELP WITH 7.3.4 Strangeness