Le Mardi 24 Juin 2003 20:17, Andrew Gould a écrit :I would like to create a audit log of update and delete queries against a table. I want the log on the server side, since access will be done using various clients via ODBC. I would like to capture the user, current datetime and the query statement. My thought was to accomplish this by creating a rule that will insert the information into a log table.
To be server side, you need to use a trigger and a plpgsql function. On this page you will find more informations on trigger related functions:
http://www.postgresql.org/docs/view.php?version=7.3&idoc=0&file=plpgsql-trigger.html
Perhaps you can compare OLD and NEW rows to know which rows will be updated.
And you'll find at the end of the page how to get current user (current_user keyword) and current datetime (function now).
How can I captures the query statement so that I can place it in a insert query? Is there a variable in the server that holds the query statement as a string?
I think this shows how to do what you want: http://archives.postgresql.org/pgsql-sql/2003-05/msg00301.php
HTH,
Joe
---------------------------(end of broadcast)--------------------------- TIP 6: Have you searched our list archives?
http://archives.postgresql.org