Close replication connection when slot creation errors

From: Petr Jelinek <pjmodos@pjmodos.net>
This commit is contained in:
Peter Eisentraut 2017-01-25 10:47:53 -05:00
parent aebeb4790c
commit 65df150a18

View File

@ -301,10 +301,20 @@ CreateSubscription(CreateSubscriptionStmt *stmt)
ereport(ERROR,
(errmsg("could not connect to the publisher: %s", err)));
walrcv_create_slot(wrconn, slotname, false, &lsn);
ereport(NOTICE,
(errmsg("created replication slot \"%s\" on publisher",
slotname)));
PG_TRY();
{
walrcv_create_slot(wrconn, slotname, false, &lsn);
ereport(NOTICE,
(errmsg("created replication slot \"%s\" on publisher",
slotname)));
}
PG_CATCH();
{
/* Close the connection in case of failure. */
walrcv_disconnect(wrconn);
PG_RE_THROW();
}
PG_END_TRY();
/* And we are done with the remote side. */
walrcv_disconnect(wrconn);