DROP SUBSCRIPTION
DROP SUBSCRIPTION - 删除订阅
语法格式
DROP SUBSCRIPTION [ IF EXISTS ] name [ CASCADE | RESTRICT ]
说明
DROP SUBSCRIPTION 从数据库 集群 中删除订阅。
订阅只能由超级用户删除。
如果是,则无法在事务块内执行 DROP SUBSCRIPTION 订阅与复制槽相关联。(您可以使用 ALTER SUBSCRIPTION 取消设置插槽。)
参数说明
name
要删除的订阅的名称。
CASCADE
RESTRICT
这些关键词没有任何效果,因为订阅没有依赖关系。
注意事项
删除与远程主机上的复制槽关联的订阅(正常状态)时, DROP SUBSCRIPTION将连接到远程主机并尝试删除复制槽作为其操作的一部分。这是必要的,以便释放为远程主机上的订阅分配的资源。如果此操作失败,可能是因为远程主机无法访问,或者因为远程复制槽无法删除或不存在或从不存在,DROP SUBSCRIPTION 命令将失败。要在此情况下继续,请通过执行 ALTER SUBSCRIPTION … SET (slot_name = NONE) 取消订阅与复制槽的关联。之后,DROP SUBSCRIPTION将不再在远程主机上尝试任何操作。请注意,如果远程复制插槽仍然存在,则应手动删除它;否则它将继续保留WAL并最终可能导致磁盘填满。
如果订阅与复制槽相关联,则无法在事务块内执行 DROP SUBSCRIPTION 。
示例
删除订阅:
DROP SUBSCRIPTION mysub;