On 02/01/17 05:23, Steve Singer wrote: > On 12/30/2016 05:53 AM, Petr Jelinek wrote: >> Hi, >> >> I rebased this for the changes made to inheritance and merged in the >> fixes that I previously sent separately. >> >> >> > > > I'm not sure if the following is expected or not > > I have 1 publisher and 1 subscriber. > I then do pg_dump on my subscriber > ./pg_dump -h localhost --port 5441 --include-subscriptions > --no-create-subscription-slot test|./psql --port 5441 test_b > > I now can't do a drop database test_b , which is expected > > but I can't drop the subscription either > > > test_b=# drop subscription mysub; > ERROR: could not drop replication origin with OID 1, in use by PID 24996 > > alter subscription mysub disable; > ALTER SUBSCRIPTION > drop subscription mysub; > ERROR: could not drop replication origin with OID 1, in use by PID 24996 > > drop subscription mysub nodrop slot; > > doesn't work either. If I first drop the working/active subscription on > the original 'test' database it works but I can't seem to drop the > subscription record on test_b >
I guess this is because replication origins are pg instance global and we use subscription name for origin name internally. Maybe we need to prefix/suffix it with db oid or something like that, but that's problematic a bit as well as they both have same length limit. I guess we could use subscription OID as replication origin name which is somewhat less user friendly in terms of debugging but would be unique. -- Petr Jelinek http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers