Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEtsuro Fujita2022-02-24 05:30:00 +0000
committerEtsuro Fujita2022-02-24 05:30:00 +0000
commit04e706d4238f98a98e1c0b1a02db9d4280b96f04 (patch)
treee58071ae9b40f52c8394dd0da56938278dbb8b96 /doc/src/sgml/postgres-fdw.sgml
parentcfb4e209ec15d4a0c44efa98b2788be806a43a92 (diff)
postgres_fdw: Add support for parallel commit.
postgres_fdw commits remote (sub)transactions opened on remote server(s) in a local (sub)transaction one by one when the local (sub)transaction commits. This patch allows it to commit the remote (sub)transactions in parallel to improve performance. This is enabled by the server option "parallel_commit". The default is false. Etsuro Fujita, reviewed by Fujii Masao and David Zhang. Discussion: http://postgr.es/m/CAPmGK17dAZCXvwnfpr1eTfknTGdt%3DhYTV9405Gt5SqPOX8K84w%40mail.gmail.com
Diffstat (limited to 'doc/src/sgml/postgres-fdw.sgml')
-rw-r--r--doc/src/sgml/postgres-fdw.sgml46
1 files changed, 46 insertions, 0 deletions
diff --git a/doc/src/sgml/postgres-fdw.sgml b/doc/src/sgml/postgres-fdw.sgml
index dc57fe4b0d1..8ebf0dc3a05 100644
--- a/doc/src/sgml/postgres-fdw.sgml
+++ b/doc/src/sgml/postgres-fdw.sgml
@@ -457,6 +457,52 @@ OPTIONS (ADD password_required 'false');
</sect3>
<sect3>
+ <title>Transaction Management Options</title>
+
+ <para>
+ When multiple remote (sub)transactions are involved in a local
+ (sub)transaction, by default <filename>postgres_fdw</filename> commits
+ those remote (sub)transactions one by one when the local (sub)transaction
+ commits.
+ Performance can be improved with the following option:
+ </para>
+
+ <variablelist>
+
+ <varlistentry>
+ <term><literal>parallel_commit</literal> (<type>boolean</type>)</term>
+ <listitem>
+ <para>
+ This option controls whether <filename>postgres_fdw</filename> commits
+ remote (sub)transactions opened on a foreign server in a local
+ (sub)transaction in parallel when the local (sub)transaction commits.
+ This option can only be specified for foreign servers, not per-table.
+ The default is <literal>false</literal>.
+ </para>
+
+ <para>
+ If multiple foreign servers with this option enabled are involved in
+ a local (sub)transaction, multiple remote (sub)transactions opened on
+ those foreign servers in the local (sub)transaction are committed in
+ parallel across those foreign servers when the local (sub)transaction
+ commits.
+ </para>
+
+ <para>
+ For a foreign server with this option enabled, if many remote
+ (sub)transactions are opened on the foreign server in a local
+ (sub)transaction, this option might increase the remote server’s load
+ when the local (sub)transaction commits, so be careful when using this
+ option.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
+
+ </sect3>
+
+ <sect3>
<title>Updatability Options</title>
<para>