Re: Logging all queries (almost there) - Mailing list pgsql-general

From Franco Bruno Borghesi
Subject Re: Logging all queries (almost there)
Date
Msg-id 1075297952.3304.14.camel@taz.oficina
Whole thread Raw
In response to Re: Logging all queries (almost there)  (MaRCeLO PeReiRA <gandalf_mp@yahoo.com.br>)
List pgsql-general
I don't know if there is a better way, but you could enable log_connections and log_pid.
This way, you will get in your log file something like this:

2004-01-28 10:39:28 [79227] LOG:  connection authorized: user=admin database=test
...
2004-01-28 10:39:33 [79227] LOG:  statement: select * from people;
...
2004-01-28 10:39:35 [79227] LOG:  statement: delete from people where name like 'f%';
...

you could use grep to filter connections (and their pids), and the you could grep again to find out what queries each pid executed.

If you are interested only in a particular table, then you could use a trigger AFTER INSERT OR UPDATE OR DELETE (not select), and there you could code a function to register what changes are being made to your table.

hope this helps :)



On Wed, 2004-01-28 at 09:36, MaRCeLO PeReiRA wrote:
Hi All,

I have set [log_statement=true] in the postgresql.conf
file and now I have all the statements logged. But,
there is a problem:

Once I have more than one database, I had to know in
which database a statement was executed on.

The log file is full of: "select * from stuff", but as
I have more than one database, how can I know where
the [stuff] table is??????

Regards,

Marcelo
 --- MaRCeLO PeReiRA <gandalf_mp@yahoo.com.br>
escreveu: > Hi Franco,
> 
> If I set 'log_statement=true', will *all* the
> queries
> sent to the backend be logged???
> 
> In which table will it be used to do this log??
> 
> Regards,
> 
> Marcelo
> 
>  --- Franco Bruno Borghesi
> <franco@akyasociados.com.ar> escreveu: > you can set
> the log_statement parameter to true in
> > the configuration
> > file ($PGDATA/postgresql.conf).
> > 
> > On Tue, 2004-01-27 at 16:39, MaRCeLO PeReiRA
> wrote:
> > 
> > > Hi All,
> > > 
> > > Is there any way to log (save) "all" the queries
> > > (select, insert, updade, everything) executed on
> a
> > > database, in a table??
> > > 
> > > Regards,
> > > 
> > > Marcelo
> > > 
> > >
> >
>
______________________________________________________________________
> > > 
> > > Yahoo! GeoCities: a maneira mais fácil de criar
> > seu web site grátis!
> > > http://br.geocities.yahoo.com/
> > > 
> > > ---------------------------(end of
> > broadcast)---------------------------
> > > TIP 4: Don't 'kill -9' the postmaster
> > > 
> > 
> 
> > ATTACHMENT part 2 application/pgp-signature
> name=signature.asc
>  
> 
>
______________________________________________________________________
> 
> Yahoo! GeoCities: a maneira mais fácil de criar seu
> web site grátis!
> http://br.geocities.yahoo.com/
> 
> ---------------------------(end of
> broadcast)---------------------------
> TIP 1: subscribe and unsubscribe commands go to
majordomo@postgresql.org 

______________________________________________________________________

Yahoo! GeoCities: a maneira mais fácil de criar seu web site grátis!
http://br.geocities.yahoo.com/
Attachment

pgsql-general by date:

Previous
From: "Augusto Cesar Castoldi"
Date:
Subject: Re: Seaching without accents
Next
From: Marco Lazzeri
Date:
Subject: Re: Seaching without accents