On Fri, 2011-09-16 at 11:16 -0600, Alec Swan wrote: > Hello, > > I am trying to get postgres 8.4.4 to log the duration and statement of > queries that take longer than 200 ms. I played with the log settings > in postgresql.conf but I still see logs of durations of very fast > statements. Here is my current configuration: > > log_min_duration_statement = 200 > log_duration = on > log_line_prefix = '<%t> ' > log_statement = 'all' > > With this configuration I am still getting these in the log files: > > <2011-09-02 14:47:19 EDT> LOG: duration: 0.017 ms > <2011-09-02 14:47:19 EDT> LOG: execute <unnamed>: SET SESSION > CHARACTERISTICS AS TRANSACTION READ WRITE > <2011-09-02 14:47:19 EDT> LOG: duration: 0.004 ms > <2011-09-02 14:47:19 EDT> LOG: duration: 0.014 ms > <2011-09-02 14:47:19 EDT> LOG: duration: 0.017 ms > <2011-09-02 14:47:19 EDT> LOG: execute <unnamed>: SET SESSION > CHARACTERISTICS AS TRANSACTION READ ONLY > > > How do I filter these out? > You should set log_duration to off, and log_statement to none. log_min_duration_statement will take care of logging duration and statement if the query duration is longer than 200 ms. > Also, how do I restrict the maximum number of log files generated to 2 > with the assumption that they will roll over when filled? > You can't do that with PostgreSQL configuration. You need another tool, such as logrotate. -- Guillaume http://blog.guillaume.lelarge.info http://www.dalibo.com -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general