diff options
author | Peter Eisentraut <peter_e@gmx.net> | 2017-03-03 10:47:04 -0500 |
---|---|---|
committer | Peter Eisentraut <peter_e@gmx.net> | 2017-03-03 10:47:04 -0500 |
commit | 6da9759a03d6d985c3b95a3177bbda7bcffd0ae6 (patch) | |
tree | c519af3041ba6af4d54b15689351fa798d167676 /src/backend/replication/logical/worker.c | |
parent | 713f7c47d9c38654adbc36c47fd9e439f0d1f715 (diff) |
Add RENAME support for PUBLICATIONs and SUBSCRIPTIONs
From: Petr Jelinek <petr.jelinek@2ndquadrant.com>
Diffstat (limited to 'src/backend/replication/logical/worker.c')
-rw-r--r-- | src/backend/replication/logical/worker.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/backend/replication/logical/worker.c b/src/backend/replication/logical/worker.c index 718aafb78a7..535aa2df1ba 100644 --- a/src/backend/replication/logical/worker.c +++ b/src/backend/replication/logical/worker.c @@ -1260,6 +1260,21 @@ reread_subscription(void) } /* + * Exit if subscription name was changed (it's used for + * fallback_application_name). The launcher will start new worker. + */ + if (strcmp(newsub->name, MySubscription->name) != 0) + { + ereport(LOG, + (errmsg("logical replication worker for subscription \"%s\" will " + "restart because subscription was renamed", + MySubscription->name))); + + walrcv_disconnect(wrconn); + proc_exit(0); + } + + /* * Exit if publication list was changed. The launcher will start * new worker. */ @@ -1292,7 +1307,6 @@ reread_subscription(void) /* Check for other changes that should never happen too. */ if (newsub->dbid != MySubscription->dbid || - strcmp(newsub->name, MySubscription->name) != 0 || strcmp(newsub->slotname, MySubscription->slotname) != 0) { elog(ERROR, "subscription %u changed unexpectedly", |