BUG #18988: DROP SUBSCRIPTION locks not-yet-accessed database
PG Bug reporting form <noreply@postgresql.org>
From: PG Bug reporting form <noreply@postgresql.org>
To: pgsql-bugs@lists.postgresql.org
Cc: exclusion@gmail.com
Date: 2025-07-16T19:00:01Z
Lists: pgsql-bugs
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Fix self-deadlock during DROP SUBSCRIPTION.
- aa21e49225a1 19 (unreleased) landed
- a5d4c04150d4 18.0 landed
- 288a817bcb04 17.7 landed
- 7ece7612906e 16.11 landed
- e41137155869 15.15 landed
- ef77502746fe 14.20 landed
- 0a98f24a65cd 13.23 landed
The following bug has been logged on the website: Bug reference: 18988 Logged by: Alexander Lakhin Email address: exclusion@gmail.com PostgreSQL version: 18beta1 Operating system: Ubuntu 24.04 Description: The following script: createdb ndb echo " CREATE SUBSCRIPTION testsub CONNECTION 'dbname=ndb' PUBLICATION testpub WITH (connect = false); " | psql echo " DROP SUBSCRIPTION testsub " | psql & sleep 1 timeout 30 psql ndb -c "SELECT 1" || echo "TIMEOUT" makes DROP SUBSCRIPTION stuck on waiting for a connection to drop a slot, while this connection is waiting for a lock for relation 6100 (pg_subscription), locked by DROP SUBSCRIPTION: law 1545967 1545946 0 21:10 ? 00:00:00 postgres: law regression [local] DROP SUBSCRIPTION law 1545968 1545946 0 21:10 ? 00:00:00 postgres: walsender law ndb [local] startup waiting With debug_discard_caches = 1 or under some lucky circumstances (I encountered these), this leads to inability to connect to any database. Reproduced on REL_13_STABLE .. master.