Dan B <db@cyclonehq.dnsalias.net> writes:
> I'm sorry about asking this here, since I'm sure it is a FAQ.
> I'm using an ecommerce app (interchange) and it's giving me some database
> errors (unterminated quoted string, blah blah). I would like to see the
> SQL code as it is being executed (or given) to postgresql. Since my app
> doesn't have a log that tells exactly what it is saying to postgresql, I
> assume postgresql has this kind of logging capability. (I was thinking of
> a file that I could just 'tail -f'.) It would really help me debug my app.
(1) Make sure the postmaster is being started without -S switch, and
redirect its stdout and stderr into a log file of your choice. For
example,
postmaster -i -D /whatever >/path/to/logfile 2>&1 &
(2) To cause queries to be logged, you also need -d2 or higher. You
can add that to the postmaster's startup command, but your log file
will probably grow rapidly if you turn it on for everything. There is a
way to establish -d2 just for a selected client, however, which is to
set the PGOPTIONS environment variable for the client:
export PGOPTIONS="-d2"
psql (or other client program)
libpq will see the PGOPTIONS setting and pass it over to the backend.
regards, tom lane