aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2021-07-17 11:52:54 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2021-07-17 11:52:54 -0400
commitbb9beade258108071078ae9233084b8a4bb4581e (patch)
tree297d70455bef91cfb03cb9447c4e47dcc3760d19
parent5992c94dc7e4782760094a13be632a39ba4beffd (diff)
downloadpostgresql-bb9beade258108071078ae9233084b8a4bb4581e.tar.gz
postgresql-bb9beade258108071078ae9233084b8a4bb4581e.zip
Doc: document the current-transaction-modes GUCs.
We had documentation of default_transaction_isolation et al, but for some reason not of transaction_isolation et al. AFAICS this is just an ancient oversight, so repair. Per bug #17077 from Yanliang Lei. Discussion: https://postgr.es/m/17077-ade8e166a01e1374@postgresql.org
-rw-r--r--doc/src/sgml/config.sgml62
-rw-r--r--doc/src/sgml/ref/set_transaction.sgml13
2 files changed, 74 insertions, 1 deletions
diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml
index a30761289ac..47310c1d20d 100644
--- a/doc/src/sgml/config.sgml
+++ b/doc/src/sgml/config.sgml
@@ -7777,6 +7777,68 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv;
</listitem>
</varlistentry>
+ <varlistentry id="guc-transaction-isolation" xreflabel="transaction_isolation">
+ <term><varname>transaction_isolation</varname> (<type>enum</type>)
+ <indexterm>
+ <primary>transaction isolation level</primary>
+ </indexterm>
+ <indexterm>
+ <primary><varname>transaction_isolation</varname> configuration parameter</primary>
+ </indexterm>
+ </term>
+ <listitem>
+ <para>
+ This parameter reflects the current transaction's isolation level.
+ At the beginning of each transaction, it is set to the current value
+ of <xref linkend="guc-default-transaction-isolation"/>.
+ Any subsequent attempt to change it is equivalent to a <xref
+ linkend="sql-set-transaction"/> command.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="guc-transaction-read-only" xreflabel="transaction_read_only">
+ <term><varname>transaction_read_only</varname> (<type>boolean</type>)
+ <indexterm>
+ <primary>read-only transaction</primary>
+ <secondary>setting default</secondary>
+ </indexterm>
+ <indexterm>
+ <primary><varname>transaction_read_only</varname> configuration parameter</primary>
+ </indexterm>
+ </term>
+ <listitem>
+ <para>
+ This parameter reflects the current transaction's read-only status.
+ At the beginning of each transaction, it is set to the current value
+ of <xref linkend="guc-default-transaction-read-only"/>.
+ Any subsequent attempt to change it is equivalent to a <xref
+ linkend="sql-set-transaction"/> command.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="guc-transaction-deferrable" xreflabel="transaction_deferrable">
+ <term><varname>transaction_deferrable</varname> (<type>boolean</type>)
+ <indexterm>
+ <primary>deferrable transaction</primary>
+ <secondary>setting default</secondary>
+ </indexterm>
+ <indexterm>
+ <primary><varname>transaction_deferrable</varname> configuration parameter</primary>
+ </indexterm>
+ </term>
+ <listitem>
+ <para>
+ This parameter reflects the current transaction's deferrability status.
+ At the beginning of each transaction, it is set to the current value
+ of <xref linkend="guc-default-transaction-deferrable"/>.
+ Any subsequent attempt to change it is equivalent to a <xref
+ linkend="sql-set-transaction"/> command.
+ </para>
+ </listitem>
+ </varlistentry>
+
<varlistentry id="guc-session-replication-role" xreflabel="session_replication_role">
<term><varname>session_replication_role</varname> (<type>enum</type>)
diff --git a/doc/src/sgml/ref/set_transaction.sgml b/doc/src/sgml/ref/set_transaction.sgml
index ec436b2d163..e062e2461e1 100644
--- a/doc/src/sgml/ref/set_transaction.sgml
+++ b/doc/src/sgml/ref/set_transaction.sgml
@@ -202,7 +202,7 @@ SET SESSION CHARACTERISTICS AS TRANSACTION <replaceable class="parameter">transa
</para>
<para>
- The session default transaction modes can also be set by setting the
+ The session default transaction modes can also be set or examined via the
configuration parameters <xref linkend="guc-default-transaction-isolation"/>,
<xref linkend="guc-default-transaction-read-only"/>, and
<xref linkend="guc-default-transaction-deferrable"/>.
@@ -212,6 +212,17 @@ SET SESSION CHARACTERISTICS AS TRANSACTION <replaceable class="parameter">transa
<command>ALTER DATABASE</command>, etc. Consult <xref linkend="runtime-config"/>
for more information.
</para>
+
+ <para>
+ The current transaction's modes can similarly be set or examined via the
+ configuration parameters <xref linkend="guc-transaction-isolation"/>,
+ <xref linkend="guc-transaction-read-only"/>, and
+ <xref linkend="guc-transaction-deferrable"/>. Setting one of these
+ parameters acts the same as the corresponding <command>SET
+ TRANSACTION</command> option, with the same restrictions on when it can
+ be done. However, these parameters cannot be set in the configuration
+ file, or from any source other than live SQL.
+ </para>
</refsect1>
<refsect1>