summaryrefslogtreecommitdiff
path: root/src/backend
diff options
context:
space:
mode:
authorFujii Masao2017-02-21 18:36:02 +0000
committerFujii Masao2017-02-21 18:36:02 +0000
commit898a792eb8283e31efc0b6fcbc03bbcd5f7df667 (patch)
treefd229310ec480ed42de6d358af1068219820fe26 /src/backend
parent1d04a59be31bf004b880226be0e3fe84acff2815 (diff)
Fix connection leak in DROP SUBSCRIPTION command.
Previously the command forgot to close the connection to the publisher when it failed to drop the replication slot.
Diffstat (limited to 'src/backend')
-rw-r--r--src/backend/commands/subscriptioncmds.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/backend/commands/subscriptioncmds.c b/src/backend/commands/subscriptioncmds.c
index ab21e64b488..c9e7c08c8c1 100644
--- a/src/backend/commands/subscriptioncmds.c
+++ b/src/backend/commands/subscriptioncmds.c
@@ -546,10 +546,14 @@ DropSubscription(DropSubscriptionStmt *stmt)
errdetail("The error was: %s", err)));
if (!walrcv_command(wrconn, cmd.data, &err))
+ {
+ /* Close the connection in case of failure */
+ walrcv_disconnect(wrconn);
ereport(ERROR,
(errmsg("could not drop the replication slot \"%s\" on publisher",
slotname),
errdetail("The error was: %s", err)));
+ }
else
ereport(NOTICE,
(errmsg("dropped replication slot \"%s\" on publisher",