diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/backend/commands/subscriptioncmds.c | 8 | ||||
| -rw-r--r-- | src/backend/replication/slot.c | 14 |
2 files changed, 9 insertions, 13 deletions
diff --git a/src/backend/commands/subscriptioncmds.c b/src/backend/commands/subscriptioncmds.c index a400ba0e40c..a05d69922d9 100644 --- a/src/backend/commands/subscriptioncmds.c +++ b/src/backend/commands/subscriptioncmds.c @@ -73,7 +73,6 @@ #define SUBOPT_LSN 0x00004000 #define SUBOPT_ORIGIN 0x00008000 - /* check if the 'val' has 'bits' set */ #define IsSet(val, bits) (((val) & (bits)) == (bits)) @@ -852,9 +851,6 @@ CreateSubscription(ParseState *pstate, CreateSubscriptionStmt *stmt, (opts.failover || walrcv_server_version(wrconn) >= 170000)) { walrcv_alter_slot(wrconn, opts.slot_name, opts.failover); - ereport(NOTICE, - (errmsg("changed the failover state of replication slot \"%s\" on publisher to %s", - opts.slot_name, opts.failover ? "true" : "false"))); } } PG_FINALLY(); @@ -1547,10 +1543,6 @@ AlterSubscription(ParseState *pstate, AlterSubscriptionStmt *stmt, PG_TRY(); { walrcv_alter_slot(wrconn, sub->slotname, opts.failover); - - ereport(NOTICE, - (errmsg("changed the failover state of replication slot \"%s\" on publisher to %s", - sub->slotname, opts.failover ? "true" : "false"))); } PG_FINALLY(); { diff --git a/src/backend/replication/slot.c b/src/backend/replication/slot.c index 110cb59783f..fd4e96c9d69 100644 --- a/src/backend/replication/slot.c +++ b/src/backend/replication/slot.c @@ -696,12 +696,16 @@ ReplicationSlotAlter(const char *name, bool failover) errmsg("cannot use %s with a physical replication slot", "ALTER_REPLICATION_SLOT")); - SpinLockAcquire(&MyReplicationSlot->mutex); - MyReplicationSlot->data.failover = failover; - SpinLockRelease(&MyReplicationSlot->mutex); + if (MyReplicationSlot->data.failover != failover) + { + SpinLockAcquire(&MyReplicationSlot->mutex); + MyReplicationSlot->data.failover = failover; + SpinLockRelease(&MyReplicationSlot->mutex); + + ReplicationSlotMarkDirty(); + ReplicationSlotSave(); + } - ReplicationSlotMarkDirty(); - ReplicationSlotSave(); ReplicationSlotRelease(); } |
