DROP SUBSCRIPTION — 删除一个订阅
DROP SUBSCRIPTION [ IF EXISTS ] name [ CASCADE | RESTRICT ]
   DROP SUBSCRIPTION从数据库集群中删除一个订阅。
  
订阅只能由超级用户删除。
   如果订阅与一个复制槽(可以用ALTER SUBSCRIPTION重置该复制槽)相关联,则DROP SUBSCRIPTION不能在事务块内执行。
  
name要删除的订阅。
CASCADERESTRICT这些关键词没有任何效果,因为没有对于订阅的依赖。
   在删除一个与远程主机上的复制槽相关联的订阅时(普通状态),DROP SUBSCRIPTION将连接到该远程主机并且尝试把删除该复制槽当作其操作的一部分。这是必要的,这样远程主机上为该订阅分配的资源才会被释放。如果这一步失败(因为远程主机不可达或者因为远程复制槽不能被删除、不存在或者从来就没有存在过),DROP SUBSCRIPTION命令将会失败。为了在这种情况下继续这一操作,应该通过执行ALTER SUBSCRIPTION ... SET (slot_name = NONE)将该订阅与复制槽解除关联。之后,DROP SUBSCRIPTION将不再尝试在远程主机上做任何动作。注意如果远程复制槽仍然存在,应该接着手工删除它,否则它将会继续保留WAL并且可能最终导致磁盘被充满。还可以参考Section 31.2.1。
  
   如果一个订阅与一个复制槽相关联,则DROP
   SUBSCRIPTION不能在事务块内执行。
  
删除一个订阅:
DROP SUBSCRIPTION mysub;
   DROP SUBSCRIPTION是一种PostgreSQL扩展。