Trouble with query logging
I'm having difficulty getting postgresql to log queries.
I have the following set in my postgresql.conf:
-------------------------------
# - Syslog -
syslog = 2 # range 0-2; 0=stdout; 1=both; 2=syslog
syslog_facility = 'LOCAL0'
syslog_ident = 'postgres'
log_statement = yes
-------------------------------
I've done a:
pg_ctl reload -D /usr/local/pgsql/data/
and have even done a restart, but queries are not getting logged (to
/var/log/messages).
(Error messages are getting logged, however.)
I also tried specifying a log file using -l when doing pg_ctl restart.
Using postgresql version 7.4.
Any suggestions much appreciated!
ppi@amug.org wrote:
I'm having difficulty getting postgresql to log queries.
I have the following set in my postgresql.conf:
-------------------------------
# - Syslog -syslog = 2 # range 0-2; 0=stdout; 1=both; 2=syslog
syslog_facility = 'LOCAL0'
syslog_ident = 'postgres'log_statement = yes
-------------------------------
I've done a:
pg_ctl reload -D /usr/local/pgsql/data/
and have even done a restart, but queries are not getting logged (to
/var/log/messages).(Error messages are getting logged, however.)
You have to configure your syslogd to accept messages from
LOCAL0, usualy I add to syslogd.conf:
LOCAL0.* -/var/log/postgresql.log
don't forget to SIGHUP the syslogd
Regards
Gaetano Mendola
ppi@amug.org wrote:
syslog_facility = 'LOCAL0'
This is the point! You have to tell syslogd to log messages sent to this
facility. I prefer to log it to a different file than /var/log/messages.
As root do:
mkdir /var/log/postgresql/
Add something like
# postgresql
local0.* /var/log/postgresql/postgresql.log
to the end of your /etc/syslog.conf and do a
service syslogd reload
Make sure to add /var/log/postgresql/postgresql.log to the first line of
/etc/logrotate.d/syslog which is basically the list of syslog logfiles that
have to be regularly rotated .
On production servers with heavy load place use "-/var/log/postgr..." in
syslog.conf for a better performance. The - means to uses buffered I/O.