Re: DROP SUBSCRIPTION, query cancellations and slot handling

From: Michael Paquier <michael(dot)paquier(at)gmail(dot)com>
To: PostgreSQL mailing lists <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: DROP SUBSCRIPTION, query cancellations and slot handling
Date: 2017-04-20 07:35:17
Message-ID: CAB7nPqQfU51NwM3W7fJSSR1cK9UGRgi=4MnVSepHOwh3OkiJ=g@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, Apr 20, 2017 at 4:22 PM, Michael Paquier
<michael(dot)paquier(at)gmail(dot)com> wrote:
> I am adding an open item.

Just adding something... When a subscription is created, if the step
synchronizing tables fails then CREATE SUBSCRIPTION fails but the slot
remains present on the publisher side, so trying to re-create the same
subscription results in an error:

=# CREATE SUBSCRIPTION mysub CONNECTION 'port=5432' PUBLICATION mypub,
insert_only;
NOTICE: 00000: Sleeping now...
NOTICE: 00000: created replication slot "mysub" on publisher
LOCATION: CreateSubscription, subscriptioncmds.c:411
ERROR: 42P01: relation "public.aa" does not exist
LOCATION: RangeVarGetRelidExtended, namespace.c:400
Time: 1033.739 ms (00:01.034)
=# CREATE SUBSCRIPTION mysub CONNECTION 'port=5432 user=mpaquier
dbname=mpaquier' PUBLICATION mypub, insert_only;
NOTICE: 00000: Sleeping now...
LOCATION: CreateSubscription, subscriptioncmds.c:376
ERROR: XX000: could not create replication slot "mysub": ERROR:
replication slot "mysub" already exists
LOCATION: libpqrcv_create_slot, libpqwalreceiver.c:776

I have created a simple table aa (a int) on the publisher first, where
a publication with ALL TABLES has been created:
CREATE PUBLICATION mypub FOR ALL TABLES;
--
Michael

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tatsuo Ishii 2017-04-20 08:06:40 Re: pgbench - allow to store select results into variables
Previous Message Michael Paquier 2017-04-20 07:22:33 DROP SUBSCRIPTION, query cancellations and slot handling