DROP SUBSCRIPTION — 刪除訂閱
DROP SUBSCRIPTION [ IF EXISTS ] name
[ CASCADE | RESTRICT ]
DROP SUBSCRIPTION
從資料庫叢集中刪除一個訂閱。
要執行此命令,使用者必須是訂閱的所有者。
DROP SUBSCRIPTION
不能在事務塊內執行,如果訂閱與複製槽(replication slot)相關聯的話。(您可以使用 ALTER SUBSCRIPTION
來取消設定複製槽。)
name
要刪除的訂閱名稱。
CASCADE
RESTRICT
這些關鍵字沒有任何效果,因為對訂閱沒有依賴關係。
當刪除與遠端主機上的複製槽關聯的訂閱時(這是正常狀態),DROP SUBSCRIPTION
將連線到遠端主機,並嘗試在操作過程中刪除複製槽(以及任何剩餘的表同步槽)。這對於釋放遠端主機上為訂閱分配的資源是必需的。如果由於遠端主機不可達,或者遠端複製槽無法刪除、不存在或從未存在而失敗,DROP SUBSCRIPTION
命令將失敗。要在此情況下繼續操作,請先透過執行 ALTER SUBSCRIPTION ... DISABLE
來停用訂閱,然後透過執行 ALTER SUBSCRIPTION ... SET (slot_name = NONE)
將其與複製槽分離。之後,DROP SUBSCRIPTION
將不再嘗試在遠端主機上執行任何操作。請注意,如果遠端複製槽仍然存在,則應手動刪除它(以及任何相關的表同步槽);否則,它將繼續佔用 WAL 空間,並可能最終導致磁碟空間耗盡。另請參閱 第 29.2.1 節。
如果一個訂閱與複製槽相關聯,那麼 DROP SUBSCRIPTION
不能在事務塊內執行。
刪除一個訂閱
DROP SUBSCRIPTION mysub;
DROP SUBSCRIPTION
是 PostgreSQL 的一個擴充套件。
如果您在文件中發現任何不正確、與您對特定功能的實際體驗不符或需要進一步澄清的內容,請使用 此表格 來報告文件問題。