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/os0pr01mb57165542b09dfa4943830bf294...@os0pr01mb5716.jpnprd01.prod.outlook.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/b29cbd3da4e37db17026b9fe58fb46fe83f467bf

Modified Files
--------------
doc/src/sgml/ref/alter_subscription.sgml           |  7 +++---
doc/src/sgml/ref/create_subscription.sgml          | 18 ++++++++++++--
doc/src/sgml/ref/pg_dump.sgml                      |  6 +----
src/backend/commands/subscriptioncmds.c            | 28 +++++-----------------
src/bin/pg_dump/pg_dump.c                          | 27 ++++++++++-----------
.../recovery/t/040_standby_failover_slots_sync.pl  | 20 +++-------------
src/test/regress/expected/subscription.out         |  7 ++++--
src/test/regress/sql/subscription.sql              |  6 ++++-
8 files changed, 52 insertions(+), 67 deletions(-)

Reply via email to