DROP SUBSCRIPTION
remove a subscription
English manual coverage begins with PostgreSQL 6.4. Source history and runtime observations have their own recorded version boundaries.
Reading PG 18·Select a recorded version
- anchor
- SQL-DROPSUBSCRIPTION
- file
- sql-dropsubscription.html
- lang
- en
- name
- DROP SUBSCRIPTION
- purpose
- remove a subscription
- purpose zh
- 移除一个订阅
- sections same as
- Unknown
- slug
- 18
- synopsis html
- DROP SUBSCRIPTION [ IF EXISTS ] <em class="replaceable"><code>name</code></em> [ CASCADE | RESTRICT ]
- synopsis text
- DROP SUBSCRIPTION [ IF EXISTS ] name [ CASCADE | RESTRICT ]
Syntax
DROP SUBSCRIPTION [ IF EXISTS ] name [ CASCADE | RESTRICT ]Syntax diagrams
Read left to right. Branches are choices, bypasses are optional, loops repeat. Select an underlined parameter to open its rule.
Definition PG 18
DROP SUBSCRIPTION [ IF EXISTS ] name [ CASCADE | RESTRICT ]
Description
DROP SUBSCRIPTION removes a subscription from the database cluster.
To execute this command the user must be the owner of the subscription.
DROP SUBSCRIPTION cannot be executed inside a transaction block if the subscription is associated with a replication slot. (You can use ALTER SUBSCRIPTION to unset the slot.)
Parameters
IF EXISTSDo not throw an error if the subscription does not exist. A notice is issued in this case.
nameThe name of a subscription to be dropped.
CASCADERESTRICTThese key words do not have any effect, since there are no dependencies on subscriptions.
Notes
When dropping a subscription that is associated with a replication slot on the remote host (the normal state), DROP SUBSCRIPTION will connect to the remote host and try to drop the replication slot (and any remaining table synchronization slots) as part of its operation. This is necessary so that the resources allocated for the subscription on the remote host are released. If this fails, either because the remote host is not reachable or because the remote replication slot cannot be dropped or does not exist or never existed, the DROP SUBSCRIPTION command will fail. 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 not attempt to drop the subscription's own replication slot. It may still connect to the publisher to drop internally-created table synchronization slots if some table synchronization is left unfinished; if the publisher is unreachable, those slots (and the main slot, if it still exists) must be dropped manually. Otherwise it/they will continue to reserve WAL and might eventually cause the disk to fill up. See also Section 29.2.1.
If a subscription is associated with a replication slot, then DROP SUBSCRIPTION cannot be executed inside a transaction block.
Examples
Drop a subscription:
DROP SUBSCRIPTION mysub;
Compatibility
DROP SUBSCRIPTION is a PostgreSQL extension.
See Also
CREATE SUBSCRIPTION, ALTER SUBSCRIPTIONCompare versions
Source references
Full definition and evidence JSON
Definition sources
center · PostgreSQL 18 · wiki-repair-20261023:9791cb19411f180ee60e81f4b3fe1868eaeed46ec7c2c46a7397416cc6acca68
Text language: en · wiki-repair-20261023:9791cb19411f180ee60e81f4b3fe1868eaeed46ec7c2c46a7397416cc6acca68