diff --git a/src/backend/replication/slot.c b/src/backend/replication/slot.c index 42c78eabd4..45122b9ec9 100644 --- a/src/backend/replication/slot.c +++ b/src/backend/replication/slot.c @@ -535,6 +535,9 @@ ReplicationSlotCleanup(void) Assert(MyReplicationSlot == NULL); + if (max_replication_slots <= 0) + return; + restart: LWLockAcquire(ReplicationSlotControlLock, LW_SHARED); for (i = 0; i < max_replication_slots; i++) @@ -1135,6 +1138,9 @@ InvalidateObsoleteReplicationSlots(XLogSegNo oldestSegno) { XLogRecPtr oldestLSN; + if (max_replication_slots <= 0) + return; + XLogSegNoOffsetToRecPtr(oldestSegno, 0, wal_segment_size, oldestLSN); restart: @@ -1251,6 +1257,9 @@ CheckPointReplicationSlots(void) { int i; + if (max_replication_slots <= 0) + return; + elog(DEBUG1, "performing replication slot checkpoint"); /*