From d16f8c8e416d288bd4734ed5f14076b62ec8d153 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 2 Mar 2021 13:53:46 -0500 Subject: [PATCH] Mark default_transaction_read_only as GUC_REPORT. This allows clients to find out the setting at connection time without having to expend a query round trip to do so; which is helpful when trying to identify read/write servers. (One must also look at in_hot_standby, but that's already GUC_REPORT, cf bf8a662c9.) Modifying libpq to make use of this will come soon, but I felt it cleaner to push the server change separately. Haribabu Kommi, Greg Nancarrow, Vignesh C; reviewed at various times by Laurenz Albe, Takayuki Tsunakawa, Peter Smith. Discussion: https://postgr.es/m/CAF3+xM+8-ztOkaV9gHiJ3wfgENTq97QcjXQt+rbFQ6F7oNzt9A@mail.gmail.com --- doc/src/sgml/libpq.sgml | 4 +++- doc/src/sgml/protocol.sgml | 4 +++- src/backend/utils/misc/guc.c | 3 ++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/doc/src/sgml/libpq.sgml b/doc/src/sgml/libpq.sgml index c635b6570c1..42b02b0a00c 100644 --- a/doc/src/sgml/libpq.sgml +++ b/doc/src/sgml/libpq.sgml @@ -2191,6 +2191,7 @@ const char *PQparameterStatus(const PGconn *conn, const char *paramName); server_encoding, client_encoding, application_name, + default_transaction_read_only, in_hot_standby, is_superuser, session_authorization, @@ -2206,7 +2207,8 @@ const char *PQparameterStatus(const PGconn *conn, const char *paramName); IntervalStyle was not reported by releases before 8.4; application_name was not reported by releases before 9.0; - in_hot_standby was not reported by releases before + default_transaction_read_only and + in_hot_standby were not reported by releases before 14.) Note that server_version, diff --git a/doc/src/sgml/protocol.sgml b/doc/src/sgml/protocol.sgml index a51f2c9920b..43092fe62a6 100644 --- a/doc/src/sgml/protocol.sgml +++ b/doc/src/sgml/protocol.sgml @@ -1278,6 +1278,7 @@ SELCT 1/0; server_encoding, client_encoding, application_name, + default_transaction_read_only, in_hot_standby, is_superuser, session_authorization, @@ -1293,7 +1294,8 @@ SELCT 1/0; IntervalStyle was not reported by releases before 8.4; application_name was not reported by releases before 9.0; - in_hot_standby was not reported by releases before + default_transaction_read_only and + in_hot_standby were not reported by releases before 14.) Note that server_version, diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c index d626731723b..7167cff7c33 100644 --- a/src/backend/utils/misc/guc.c +++ b/src/backend/utils/misc/guc.c @@ -1619,7 +1619,8 @@ static struct config_bool ConfigureNamesBool[] = { {"default_transaction_read_only", PGC_USERSET, CLIENT_CONN_STATEMENT, gettext_noop("Sets the default read-only status of new transactions."), - NULL + NULL, + GUC_REPORT }, &DefaultXactReadOnly, false,