mirror of
https://github.com/postgres/postgres.git
synced 2025-07-28 23:42:10 +03:00
Add two-phase option in pg_createsubscriber.
This patch introduces the '--enable-two-phase' option to the 'pg_createsubscriber' utility, allowing users to enable two-phase commit for all subscriptions during their creation. Note that even without this option users can enable the two_phase option for the subscriptions created by pg_createsubscriber. However, it requires the subscription to be disabled first which could be inconvenient for users. When two-phase commit is enabled, prepared transactions are sent to the subscriber at the time of 'PREPARE TRANSACTION', and they are processed as two-phase transactions on the subscriber as well. If disabled, prepared transactions are sent only when committed and are processed immediately by the subscriber. Author: Shubham Khanna <khannashubham1197@gmail.com> Reviewed-by: vignesh C <vignesh21@gmail.com> Reviewed-by: Hayato Kuroda <kuroda.hayato@fujitsu.com> Reviewed-by: Peter Smith <smithpb2250@gmail.com> Reviewed-by: Ajin Cherian <itsajin@gmail.com> Reviewed-by: Amit Kapila <amit.kapila16@gmail.com> Discussion: https://postgr.es/m/CAHv8RjLPdFP=kA5LNSmWZ=+GMXmO+LczvV6p9HJjsXxZz10KGA@mail.gmail.com
This commit is contained in:
@ -165,6 +165,19 @@ PostgreSQL documentation
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>-T</option></term>
|
||||
<term><option>--enable-two-phase</option></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Enables <link linkend="sql-createsubscription-params-with-two-phase"><literal>two_phase</literal></link>
|
||||
commit for the subscription. When multiple databases are specified, this
|
||||
option applies uniformly to all subscriptions created on those databases.
|
||||
The default is <literal>false</literal>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>-U <replaceable class="parameter">username</replaceable></option></term>
|
||||
<term><option>--subscriber-username=<replaceable class="parameter">username</replaceable></option></term>
|
||||
@ -300,7 +313,9 @@ PostgreSQL documentation
|
||||
greater than or equal to the number of specified databases. The target
|
||||
server must have <xref linkend="guc-max-worker-processes"/> configured to a
|
||||
value greater than the number of specified databases. The target server
|
||||
must accept local connections.
|
||||
must accept local connections. If you are planning to use the
|
||||
<option>--enable-two-phase</option> switch then you will also need to set
|
||||
the <xref linkend="guc-max-prepared-transactions"/> appropriately.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
@ -360,6 +375,7 @@ PostgreSQL documentation
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Unless the <option>--enable-two-phase</option> switch is specified,
|
||||
<application>pg_createsubscriber</application> sets up logical
|
||||
replication with two-phase commit disabled. This means that any
|
||||
prepared transactions will be replicated at the time
|
||||
|
Reference in New Issue
Block a user