From db01f797dd48f826c62e1b8eea70f11fe7ff3efc Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Tue, 20 Apr 2021 12:57:59 -0400 Subject: [PATCH] Fix interaction of log_line_prefix's query_id and log_statement log_statement is issued before query_id can be computed, so properly clear the value, and document the interaction. Reported-by: Fujii Masao, Michael Paquier Discussion: https://postgr.es/m/YHPkU8hFi4no4NSw@paquier.xyz Author: Julien Rouhaud --- doc/src/sgml/config.sgml | 10 ++++++++++ src/backend/utils/activity/backend_status.c | 1 + 2 files changed, 11 insertions(+) diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml index 776ab1a8c8b..dd7ebe7a9da 100644 --- a/doc/src/sgml/config.sgml +++ b/doc/src/sgml/config.sgml @@ -7139,6 +7139,16 @@ log_line_prefix = '%m [%p] %q%u@%d/%a ' + + + + The %Q escape always reports a zero identifier + for lines output by because + log_statement generates output before an + identifier can be calculated, including invalid statements for + which an identifier cannot be calculated. + + diff --git a/src/backend/utils/activity/backend_status.c b/src/backend/utils/activity/backend_status.c index 787f062f9c3..a3681011030 100644 --- a/src/backend/utils/activity/backend_status.c +++ b/src/backend/utils/activity/backend_status.c @@ -398,6 +398,7 @@ pgstat_bestart(void) lbeentry.st_state = STATE_UNDEFINED; lbeentry.st_progress_command = PROGRESS_COMMAND_INVALID; lbeentry.st_progress_command_target = InvalidOid; + lbeentry.st_query_id = UINT64CONST(0); /* * we don't zero st_progress_param here to save cycles; nobody should