postgres.git / summary / log / commit / refs

commit    d16f8c8e416d288bd4734ed5f14076b62ec8d153
Author:   Tom Lane <tgl@sss.pgh.pa.us>
Date:     Tue Mar 02 18:53:46 2021 +0000
First released in: 14.0

    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); <varname>server_encoding</varname>, <varname>client_encoding</varname>, <varname>application_name</varname>, + <varname>default_transaction_read_only</varname>, <varname>in_hot_standby</varname>, <varname>is_superuser</varname>, <varname>session_authorization</varname>, @@ -2206,7 +2207,8 @@ const char *PQparameterStatus(const PGconn *conn, const char *paramName); <varname>IntervalStyle</varname> was not reported by releases before 8.4; <varname>application_name</varname> was not reported by releases before 9.0; - <varname>in_hot_standby</varname> was not reported by releases before + <varname>default_transaction_read_only</varname> and + <varname>in_hot_standby</varname> were not reported by releases before 14.) Note that <varname>server_version</varname>, 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;<!-- this typo is intentional --> <varname>server_encoding</varname>, <varname>client_encoding</varname>, <varname>application_name</varname>, + <varname>default_transaction_read_only</varname>, <varname>in_hot_standby</varname>, <varname>is_superuser</varname>, <varname>session_authorization</varname>, @@ -1293,7 +1294,8 @@ SELCT 1/0;<!-- this typo is intentional --> <varname>IntervalStyle</varname> was not reported by releases before 8.4; <varname>application_name</varname> was not reported by releases before 9.0; - <varname>in_hot_standby</varname> was not reported by releases before + <varname>default_transaction_read_only</varname> and + <varname>in_hot_standby</varname> were not reported by releases before 14.) Note that <varname>server_version</varname>, 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, [parent: 75dbfe4ca70d]