pgsql: Silence extra logging when using "postgres -C" on runtime-comput

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Silence extra logging when using "postgres -C" on runtime-comput
Date: 2022-05-11 05:34:11
Message-ID: E1noezC-0007X2-P0@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Silence extra logging when using "postgres -C" on runtime-computed GUCs

Presently, the server may emit a variety of log messages when inspecting
a runtime-computed GUC, mostly in the shape of one LOG message with the
default configuration, related to the startup sequence launched as such
GUCs require a load of the control file and of external shared
libraries.

For example, the server will always emit a "database system is shut
down" LOG (unless the user has set log_min_messages higher than LOG),
which is an annoying behavior as "postgres -C" is expected to only emit
in its output the parameter value we are looking for. The parameter
value is sent to stdout, while the logs are sent to stderr so we could
recommend to use a redirection, but there was not much love for this
workaround either.

To avoid such extra log messages, per discussion, this change sets
log_min_messages to FATAL internally when -C is used on a
runtime-computed GUC (even if set to PANIC in postgresql.conf). At
FATAL, the user will still receive messages explaining why a GUC value
cannot be inspected, and will know if the command is attempted on a
server already running, something not supported yet for a
runtime-computed GUC.

Reported-by: Magnus Hagander, Bruce Momjian
Author: Nathan Bossart, Michael Paquier
Discussion: https://postgr.es/m/Yni6ZHkGotUU+RSf@paquier.xyz

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/8bbf8461a3a2a38ce5f2952a025385b6938a61f7

Modified Files
--------------
doc/src/sgml/runtime.sgml | 2 +-
src/backend/postmaster/postmaster.c | 10 ++++++++++
2 files changed, 11 insertions(+), 1 deletion(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Amit Kapila 2022-05-11 05:51:07 pgsql: Fix the logical replication timeout during large transactions.
Previous Message Thomas Munro 2022-05-11 05:28:15 Re: Unstable tests for recovery conflict handling