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
This commit is contained in:
Tom Lane 2021-07-17 11:52:54 -04:00
parent f0e21f2f61
commit 665c5855e5
2 changed files with 76 additions and 3 deletions

View File

@ -8434,6 +8434,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>)

View File

@ -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>