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

@ -3141,7 +3141,7 @@ include_dir 'conf.d'
</term>
<listitem>
<para>
This parameter enables compression of WAL using the specified
This parameter enables compression of WAL using the specified
compression method.
When enabled, the <productname>PostgreSQL</productname>
server compresses full page images written to WAL when
@ -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>)
@ -10913,7 +10975,7 @@ LOG: CleanUpLock: deleting: lock(0xb7acd844) id(24688,24696,0,0,0,1)
<productname>PostgreSQL</productname> will automatically remove
temporary files after a backend crash. If disabled, the files will be
retained and may be used for debugging, for example. Repeated crashes
may however result in accumulation of useless files. This parameter
may however result in accumulation of useless files. This parameter
can only be set in the <filename>postgresql.conf</filename> file or on
the server command line.
</para>

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>