Re: Doc update proposal for the note on log_statement in the runtime config for logging page
Bruce Momjian <bruce@momjian.us>
From: Bruce Momjian <bruce@momjian.us>
To: Daniel Bauman <danielbaniel@gmail.com>
Cc: pgsql-hackers@lists.postgresql.org
Date: 2025-07-29T14:19:13Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Avoid regression in the size of XML input that we will accept.
- 71c0921b649d 19 (unreleased) cited
On Mon, Jul 28, 2025 at 07:35:51PM -0400, Bruce Momjian wrote: > On Mon, Jul 28, 2025 at 04:24:14PM -0700, Daniel Bauman wrote: > > Here's where I think the logging is happening. https://github.com/postgres/ > > postgres/blob/master/src/backend/tcop/postgres.c#L1070 > > It seems like the log is happening before application of the transaction, not > > after. > > > > So consistency is best effort. ie - a crash after the log but before the > > transaction is committed could result in a logged statement that wasn't > > actually committed. > > > > Logging is not handled in the WAL and is not guaranteed to be consistent in the > > way that different statements in a transaction are, which is the nuance that > > I'm interested in documenting. > > Maybe the doc update should be to say that statements in the log may not have > > been applied rather than saying that applied statements might not appear in the > > log. > > Yes, right, it is not that we do some "best effort", whatever that > means, but rather we just log when we start running the statement. The > docs clearly explain we log after parsing but before execution: > > Statements that contain simple syntax errors are not logged even > by the <varname>log_statement</varname> = <literal>all</literal> > setting, because the log message is emitted only after basic > parsing has been done to determine the statement type. "log_min_duration_statement=0" might be closer to what you want since it is only printed when the query completes. -- Bruce Momjian <bruce@momjian.us> https://momjian.us EDB https://enterprisedb.com Do not let urgent matters crowd out time for investment in the future.