Re: Bug in ALTER SUBSCRIPTION ... SERVER / ... CONNECTION with broken old server
Jeff Davis <pgsql@j-davis.com>
From: Jeff Davis <pgsql@j-davis.com>
To: Amit Kapila <amit.kapila16@gmail.com>, Chao Li <li.evan.chao@gmail.com>
Cc: Zsolt Parragi <zsolt.parragi@percona.com>, "Hayato Kuroda (Fujitsu)" <kuroda.hayato@fujitsu.com>, Ajin Cherian <itsajin@gmail.com>,
PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2026-06-22T21:10:25Z
Lists: pgsql-hackers
On Fri, 2026-06-19 at 11:40 -0700, Jeff Davis wrote: > * add an escape hatch for users to turn off tablesync slots so that > DROP will always succeed It looks like SLOT_NAME=NONE is already supposed to be this escape hatch, even for tablesync slots. From the docs: "To proceed in this situation, first disable the subscription by executing ALTER SUBSCRIPTION ... DISABLE, and then disassociate it from the replication slot by executing ALTER SUBSCRIPTION ... SET (slot_name = NONE). After that, DROP SUBSCRIPTION will no longer attempt any actions on a remote host." https://www.postgresql.org/docs/devel/sql-dropsubscription.html But DropSubscription() only does the early-return if there are no tablesync slots. If there are tablesync slots, it still tries to contact the publisher, even if SLOT_NAME=NONE. > * consider it an unimportant edge case and leave it the way it is > (with 0001 & 0002 already done), and close the open item I plan to close this open item, and treat the above as a pre-existing bug, which may require a backport. Regards, Jeff Davis
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Avoid errors during DROP SUBSCRIPTION when slot_name is NONE.
- 702e9dfd6c50 19 (unreleased) landed
-
Avoid errors during ALTER SUBSCRIPTION.
- e5c40584a712 19 (unreleased) landed
-
Check retain_dead_tuples for ALTER SUBSCRIPTION ... SERVER.
- 8eba2edb8010 19 (unreleased) landed
-
Allow multiple xacts during table sync in logical replication.
- ce0fdbfe9722 14.0 cited