0002-Lock-subscription-when-altering-it.patch
text/x-patch
Filename: 0002-Lock-subscription-when-altering-it.patch
Type: text/x-patch
Part: 0
Patch
Format: format-patch
Series: patch 0002
Subject: Lock subscription when altering it
| File | + | − |
|---|---|---|
| src/backend/commands/subscriptioncmds.c | 7 | 0 |
From 005eeb820f4e0528513744136582c4489e2429e3 Mon Sep 17 00:00:00 2001 From: Petr Jelinek <pjmodos@pjmodos.net> Date: Wed, 14 Jun 2017 08:14:20 +0200 Subject: [PATCH 2/2] Lock subscription when altering it --- src/backend/commands/subscriptioncmds.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/backend/commands/subscriptioncmds.c b/src/backend/commands/subscriptioncmds.c index 14c8f3f..e0ec8ea 100644 --- a/src/backend/commands/subscriptioncmds.c +++ b/src/backend/commands/subscriptioncmds.c @@ -642,6 +642,13 @@ AlterSubscription(AlterSubscriptionStmt *stmt) stmt->subname); subid = HeapTupleGetOid(tup); + + /* + * Lock the subscription so nobody else can do anything with it (including + * the replication workers). + */ + LockSharedObject(SubscriptionRelationId, subid, 0, AccessExclusiveLock); + sub = GetSubscription(subid, false); /* Form a new tuple. */ -- 2.7.4