summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2021-03-02 13:53:46 -0500
committerTom Lane <tgl@sss.pgh.pa.us>2021-03-02 13:53:54 -0500
commitd16f8c8e416d288bd4734ed5f14076b62ec8d153 (patch)
treeb42d81ceab36feca473dd4f929e98f98ee5b8074
parent75dbfe4ca70d5b7a83f61b0a66a0a14ad0b739ed (diff)
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
-rw-r--r--doc/src/sgml/libpq.sgml4
-rw-r--r--doc/src/sgml/protocol.sgml4
-rw-r--r--src/backend/utils/misc/guc.c3
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,