mirror of
https://github.com/postgres/postgres.git
synced 2025-12-22 17:42:17 +03:00
Fix the handling of the failover option in subscription commands.
Do not allow ALTER SUBSCRIPTION ... SET (failover = on|off) in a transaction block as the changed failover option of the slot can't be rolled back. For the same reason, we refrain from altering the replication slot's failover property if the subscription is created with a valid slot_name and create_slot=false. Reprted-by: Kuroda Hayato Author: Hou Zhijie Reviewed-by: Shveta Malik, Bertrand Drouvot, Kuroda Hayato Discussion: https://postgr.es/m/OS0PR01MB57165542B09DFA4943830BF294082@OS0PR01MB5716.jpnprd01.prod.outlook.com
This commit is contained in:
@@ -66,10 +66,11 @@ ALTER SUBSCRIPTION <replaceable class="parameter">name</replaceable> RENAME TO <
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Commands <command>ALTER SUBSCRIPTION ... REFRESH PUBLICATION</command> and
|
||||
Commands <command>ALTER SUBSCRIPTION ... REFRESH PUBLICATION</command>,
|
||||
<command>ALTER SUBSCRIPTION ... {SET|ADD|DROP} PUBLICATION ...</command>
|
||||
with <literal>refresh</literal> option as <literal>true</literal> cannot be
|
||||
executed inside a transaction block.
|
||||
with <literal>refresh</literal> option as <literal>true</literal> and
|
||||
<command>ALTER SUBSCRIPTION ... SET (failover = on|off)</command>
|
||||
cannot be executed inside a transaction block.
|
||||
|
||||
These commands also cannot be executed when the subscription has
|
||||
<link linkend="sql-createsubscription-params-with-two-phase"><literal>two_phase</literal></link>
|
||||
|
||||
Reference in New Issue
Block a user