Commit 4466b38e authored by Tom Lane's avatar Tom Lane

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
parent 3c5b7c62
...@@ -8430,6 +8430,68 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; ...@@ -8430,6 +8430,68 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv;
</listitem> </listitem>
</varlistentry> </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"> <varlistentry id="guc-session-replication-role" xreflabel="session_replication_role">
<term><varname>session_replication_role</varname> (<type>enum</type>) <term><varname>session_replication_role</varname> (<type>enum</type>)
...@@ -10909,7 +10971,7 @@ LOG: CleanUpLock: deleting: lock(0xb7acd844) id(24688,24696,0,0,0,1) ...@@ -10909,7 +10971,7 @@ LOG: CleanUpLock: deleting: lock(0xb7acd844) id(24688,24696,0,0,0,1)
<productname>PostgreSQL</productname> will automatically remove <productname>PostgreSQL</productname> will automatically remove
temporary files after a backend crash. If disabled, the files will be temporary files after a backend crash. If disabled, the files will be
retained and may be used for debugging, for example. Repeated crashes 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 can only be set in the <filename>postgresql.conf</filename> file or on
the server command line. the server command line.
</para> </para>
......
...@@ -202,7 +202,7 @@ SET SESSION CHARACTERISTICS AS TRANSACTION <replaceable class="parameter">transa ...@@ -202,7 +202,7 @@ SET SESSION CHARACTERISTICS AS TRANSACTION <replaceable class="parameter">transa
</para> </para>
<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"/>, configuration parameters <xref linkend="guc-default-transaction-isolation"/>,
<xref linkend="guc-default-transaction-read-only"/>, and <xref linkend="guc-default-transaction-read-only"/>, and
<xref linkend="guc-default-transaction-deferrable"/>. <xref linkend="guc-default-transaction-deferrable"/>.
...@@ -212,6 +212,17 @@ SET SESSION CHARACTERISTICS AS TRANSACTION <replaceable class="parameter">transa ...@@ -212,6 +212,17 @@ SET SESSION CHARACTERISTICS AS TRANSACTION <replaceable class="parameter">transa
<command>ALTER DATABASE</command>, etc. Consult <xref linkend="runtime-config"/> <command>ALTER DATABASE</command>, etc. Consult <xref linkend="runtime-config"/>
for more information. for more information.
</para> </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>
<refsect1> <refsect1>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment