@ -460,10 +460,16 @@ OPTIONS (ADD password_required 'false');
<title>Transaction Management Options</title>
<title>Transaction Management Options</title>
<para>
<para>
When multiple remote (sub)transactions are involved in a local
As described in the Transaction Management section, in
(sub)transaction, by default <filename>postgres_fdw</filename> commits
<filename>postgres_fdw</filename> transactions are managed by creating
those remote (sub)transactions one by one when the local (sub)transaction
corresponding remote transactions, and subtransactions are managed by
commits.
creating corresponding remote subtransactions. When multiple remote
transactions are involved in the current local transaction, by default
<filename>postgres_fdw</filename> commits those remote transactions
serially when the local transaction is committed. When multiple remote
subtransactions are involved in the current local subtransaction, by
default <filename>postgres_fdw</filename> commits those remote
subtransactions serially when the local subtransaction is committed.
Performance can be improved with the following option:
Performance can be improved with the following option:
</para>
</para>
@ -474,26 +480,24 @@ OPTIONS (ADD password_required 'false');
<listitem>
<listitem>
<para>
<para>
This option controls whether <filename>postgres_fdw</filename> commits
This option controls whether <filename>postgres_fdw</filename> commits
remote (sub)transactions opened on a foreign server in a local
in parallel remote transactions opened on a foreign server in a local
(sub)transaction in parallel when the local (sub)transaction commits.
transaction when the local transaction is committed. This setting also
This option can only be specified for foreign servers, not per-table.
applies to remote and local subtransactions. This option can only be
The default is <literal>false</literal>.
specified for foreign servers, not per-table. The default is
<literal>false</literal>.
</para>
</para>
<para>
<para>
If multiple foreign servers with this option enabled are involved in
If multiple foreign servers with this option enabled are involved in a
a local (sub)transaction, multiple remote (sub)transactions opened on
local transaction, multiple remote transactions on those foreign
those foreign servers in the local (sub)transaction are committed in
servers are committed in parallel across those foreign servers when
parallel across those foreign servers when the local (sub)transaction
the local transaction is committed.
commits.
</para>
</para>
<para>
<para>
For a foreign server with this option enabled, if many remote
When this option is enabled, a foreign server with many remote
(sub)transactions are opened on the foreign server in a local
transactions may see a negative performance impact when the local
(sub)transaction, this option might increase the remote server's load
transaction is committed.
when the local (sub)transaction commits, so be careful when using this
option.
</para>
</para>
</listitem>
</listitem>
</varlistentry>
</varlistentry>