scottb@intercastingcorp.com wrote:
> Hi,
>
> We're starting to migrate from postgres 8.1.8 to 8.2.4
> and noticing behavioral differences in what they log (via syslog to /var/log/pgsql)
>
> The behavior we have on 8.1.8 is:
> * log all data-modification queries (with duration)
> * log all queries that take longer than 1000 millisec (with duration)
>
>
> We'd like to have that behavior on 8.2.x as well.
>
> Instead we're getting:
> * log all data-modification queries (with duration)
> * log all queries that take longer than 1000 millisec (with duration)
> PLUS
> * (unwanted) log durations only for fast, non-mod queries
> example:
> Sep 26 09:03:50 db02 postgres[3882]: [78-1] db=our_db; user=app_writer; host=a.b.c.d; LOG: duration: 0.030 ms
>
> When I set
> log_duration = off
> I avoid the unwanted durations of fast SELECTs, but also lose the durations of the data-modification queries.
>
> * log all data-modification queries ( WITHOUT duration)
> * log all queries that take longer than 1000 millisec (with duration)
>
>
> Any suggestions ?
Uh, not sure. It is this change in 8.2 that is causing the issue:
* Change log_duration to output even if the query is not output (Tom)
In prior releases, log_duration only printed if the query
appeared earlier in the log.
We had a pretty long discussion about it:
http://archives.postgresql.org/pgsql-hackers/2006-09/msg00681.php
My guess is that you were using that the behavior about the querying
having to appear earlier in the log. I don't think we have a solution
for this anymore, but the API is cleaner. ;-)
--
Bruce Momjian <bruce@momjian.us> http://momjian.us
EnterpriseDB http://postgres.enterprisedb.com
+ If your life is a hard drive, Christ can be your backup. +