I have been googling for more than 2 hours, but I am really stuck with this one.
I want PostgreSQL (I am using version 8.4 on Debian) to start logging slow queries only.
To that extend I use the following configuration in postgresql.conf
:
log_destination = 'csvlog'
logging_collector = on
log_min_messages = log
log_min_duration_statement = 1000
log_duration = on
log_line_prefix = '%t '
log_statement = 'all'
The rest of the configuration is all on default settings (commented out). The logging works, but it logs all statements, even the ones below the threshold of 1000 (ms). If I do a 'show all' I see that all settings are in effect. I also tried restarting Postgres.
I hope someone can help me out.
Should be:
instructs the server to log all statements, simple as that. In addition,
also instructs the server to log all statements, including duration info.
Change that to
No quotes needed. Or comment them out and reload. Then no statement will logged, except those running longer than 1000 ms - instructed by
It's all in the excellent manual.