On 5/25/17 17:26, Peter Eisentraut wrote: > Another way to fix this particular issue is to not verify the > replication slot name before doing the drop. After all, if the name is > not valid, then you can also just report that it doesn't exist.
Here is a possible patch along these lines. -- Peter Eisentraut http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
From 1e09473bb2f571af0a6a8e4ca718d291efa63772 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut <pete...@gmx.net> Date: Tue, 30 May 2017 14:57:01 -0400 Subject: [PATCH] Remove replication slot name check from ReplicationSlotAcquire() When trying to access a replication slot that is supposed to already exist, we don't need to check the naming rules again. If the slot does not exist, we will then get a "does not exist" error message, which is generally more useful from the perspective of an end user. --- src/backend/replication/slot.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/backend/replication/slot.c b/src/backend/replication/slot.c index 5386e86aa6..c0f7fbb2b2 100644 --- a/src/backend/replication/slot.c +++ b/src/backend/replication/slot.c @@ -331,8 +331,6 @@ ReplicationSlotAcquire(const char *name) Assert(MyReplicationSlot == NULL); - ReplicationSlotValidateName(name, ERROR); - /* Search for the named slot and mark it active if we find it. */ LWLockAcquire(ReplicationSlotControlLock, LW_SHARED); for (i = 0; i < max_replication_slots; i++) -- 2.13.0
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers