DROP SUBSCRIPTION

DROP SUBSCRIPTION

7

SQL - Language Statements

DROP SUBSCRIPTION

remove a subscription

DROP SUBSCRIPTION \[ IF EXISTS \]

name

\[ CASCADE \| RESTRICT \]

Description
===========

`DROP SUBSCRIPTION` removes a subscription from the database cluster.

A subscription can only be dropped by a superuser.

`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
==========

name

:   The name of a subscription to be dropped.

`CASCADE`; `RESTRICT`

:   These 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, disassociate the
subscription 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.
Note that if the remote replication slot still exists, it (and any
related table synchronization slots) should then be dropped manually;
otherwise it/they will continue to reserve WAL and might eventually
cause the disk to fill up. See also
[???](#logical-replication-subscription-slot).

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
========
