8.0.0beta3 duration logging patch - Mailing list pgsql-patches

From Ed L.
Subject 8.0.0beta3 duration logging patch
Date
Msg-id 200409272029.03301.pgsql@bluepolka.net
Whole thread Raw
Responses Re: 8.0.0beta3 duration logging patch
Re: 8.0.0beta3 duration logging patch
List pgsql-patches
The attached patch forces queryless duration log statements to be turned off
in step with the log_statement directive.  Without this patch, and with
log_statement = 'mod' and log_duration = true, there is no way to silence
SELECT query duration logging when quieting the logging of SELECT queries.

Note this patch changes the semantics of log_duration from logging the
duration of "every completed statement" to "every completed statement that
satisfies log_statement directive".  I argue this semantic change is
justified given 1) the docs themselves recommend turning log_statement
sufficiently up to be able to make this mapping, and 2) I can see it being
quite common that folks only want to log queries (and durations) that
change the database, while I fail to see the usefulness of queryless
durations (and I'm trying to scratch my own itch with a small effort).
It's possible someone else feels strongly about their queryless durations
for reasons I cannot imagine.  If so, then another more conservative
approach may be in order.

Note also this patch is independent of queries and durations logged due to
the log_min_duration_statement directive.  If, for example, log_statement =
'all', log_min_duration_statement = 1 (ms), and a SELECT query takes longer
than 1ms, it's duration will be logged twice, with the 2nd log entry
including the statement with the duration.

Ed

Attachment

pgsql-patches by date:

Previous
From: Tom Lane
Date:
Subject: Re: [HACKERS] Win32 Version numbering patch
Next
From: Bruce Momjian
Date:
Subject: Re: 8.0.0beta3 duration logging patch