Best way to create DML/DDL log? - Mailing list pgsql-sql

From Ingram, Bryan
Subject Best way to create DML/DDL log?
Date
Msg-id 01CCE949D2717845BA2E573DC081167E052E84@BKMAIL.sixtyfootspider.com
Whole thread Raw
List pgsql-sql
I would like to create a long of all successful DML/DDL statements.

Has anyone accomplished this before?  No need to reinvent the wheel ...

If not ..I'm wondering what the best approach might be.

I have looked at the tcop/postgres.c source, thinking I might start by
modifying some of the -dX routines for generating debugging output. 

I've also tried working a little with the -E option to the postgres backend,
(passing it through postmaster as -o -E) but can't seem to redirect its
output.

Finally, another option might be to create a trigger, but I haven't really
explored this option.

One of the main requirements is that any function which returns a value
which is determined by system environment must be written in the log as the
evaluated statement, and not written as the function itself.  e.g. now()
returns a text string of the current datetime which is written to the log in
place of the literal character string 'now()'

As far as modifying postgres.c, I'm fairly confident I can create a log of
the query buffer, but I haven't yet enough exposure to the source to find
where I should check to see whether or not a statement was successful, or
from where I might be able to pull text data from evaluated functions.

Any commentary on this would be much appreciated.  

Thanks,
Bryan Ingram






pgsql-sql by date:

Previous
From: "Poul L. Christiansen"
Date:
Subject: Re: 8K Limit, whats the best strategy?
Next
From: Webb Sprague
Date:
Subject: Re: Best way to create DML/DDL log?