Skip to content

Commit 35e9d26

Browse files
committed
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
1 parent cc340af commit 35e9d26

File tree

2 files changed

+74
-1
lines changed

2 files changed

+74
-1
lines changed

doc/src/sgml/config.sgml

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8150,6 +8150,68 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv;
81508150
</listitem>
81518151
</varlistentry>
81528152

8153+
<varlistentry id="guc-transaction-isolation" xreflabel="transaction_isolation">
8154+
<term><varname>transaction_isolation</varname> (<type>enum</type>)
8155+
<indexterm>
8156+
<primary>transaction isolation level</primary>
8157+
</indexterm>
8158+
<indexterm>
8159+
<primary><varname>transaction_isolation</varname> configuration parameter</primary>
8160+
</indexterm>
8161+
</term>
8162+
<listitem>
8163+
<para>
8164+
This parameter reflects the current transaction's isolation level.
8165+
At the beginning of each transaction, it is set to the current value
8166+
of <xref linkend="guc-default-transaction-isolation"/>.
8167+
Any subsequent attempt to change it is equivalent to a <xref
8168+
linkend="sql-set-transaction"/> command.
8169+
</para>
8170+
</listitem>
8171+
</varlistentry>
8172+
8173+
<varlistentry id="guc-transaction-read-only" xreflabel="transaction_read_only">
8174+
<term><varname>transaction_read_only</varname> (<type>boolean</type>)
8175+
<indexterm>
8176+
<primary>read-only transaction</primary>
8177+
<secondary>setting default</secondary>
8178+
</indexterm>
8179+
<indexterm>
8180+
<primary><varname>transaction_read_only</varname> configuration parameter</primary>
8181+
</indexterm>
8182+
</term>
8183+
<listitem>
8184+
<para>
8185+
This parameter reflects the current transaction's read-only status.
8186+
At the beginning of each transaction, it is set to the current value
8187+
of <xref linkend="guc-default-transaction-read-only"/>.
8188+
Any subsequent attempt to change it is equivalent to a <xref
8189+
linkend="sql-set-transaction"/> command.
8190+
</para>
8191+
</listitem>
8192+
</varlistentry>
8193+
8194+
<varlistentry id="guc-transaction-deferrable" xreflabel="transaction_deferrable">
8195+
<term><varname>transaction_deferrable</varname> (<type>boolean</type>)
8196+
<indexterm>
8197+
<primary>deferrable transaction</primary>
8198+
<secondary>setting default</secondary>
8199+
</indexterm>
8200+
<indexterm>
8201+
<primary><varname>transaction_deferrable</varname> configuration parameter</primary>
8202+
</indexterm>
8203+
</term>
8204+
<listitem>
8205+
<para>
8206+
This parameter reflects the current transaction's deferrability status.
8207+
At the beginning of each transaction, it is set to the current value
8208+
of <xref linkend="guc-default-transaction-deferrable"/>.
8209+
Any subsequent attempt to change it is equivalent to a <xref
8210+
linkend="sql-set-transaction"/> command.
8211+
</para>
8212+
</listitem>
8213+
</varlistentry>
8214+
81538215

81548216
<varlistentry id="guc-session-replication-role" xreflabel="session_replication_role">
81558217
<term><varname>session_replication_role</varname> (<type>enum</type>)

doc/src/sgml/ref/set_transaction.sgml

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@ SET SESSION CHARACTERISTICS AS TRANSACTION <replaceable class="parameter">transa
202202
</para>
203203

204204
<para>
205-
The session default transaction modes can also be set by setting the
205+
The session default transaction modes can also be set or examined via the
206206
configuration parameters <xref linkend="guc-default-transaction-isolation"/>,
207207
<xref linkend="guc-default-transaction-read-only"/>, and
208208
<xref linkend="guc-default-transaction-deferrable"/>.
@@ -212,6 +212,17 @@ SET SESSION CHARACTERISTICS AS TRANSACTION <replaceable class="parameter">transa
212212
<command>ALTER DATABASE</command>, etc. Consult <xref linkend="runtime-config"/>
213213
for more information.
214214
</para>
215+
216+
<para>
217+
The current transaction's modes can similarly be set or examined via the
218+
configuration parameters <xref linkend="guc-transaction-isolation"/>,
219+
<xref linkend="guc-transaction-read-only"/>, and
220+
<xref linkend="guc-transaction-deferrable"/>. Setting one of these
221+
parameters acts the same as the corresponding <command>SET
222+
TRANSACTION</command> option, with the same restrictions on when it can
223+
be done. However, these parameters cannot be set in the configuration
224+
file, or from any source other than live SQL.
225+
</para>
215226
</refsect1>
216227

217228
<refsect1>

0 commit comments

Comments
 (0)