2025年9月25日: PostgreSQL 18 釋出!
支援的版本: 當前 (18) / 17 / 16 / 15 / 14 / 13
開發版本: devel
不支援的版本: 12 / 11 / 10

DROP SUBSCRIPTION

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 SUBSCRIPTIONPostgreSQL 的一個擴充套件。

提交更正

如果您在文件中發現任何不正確、與您對特定功能的實際體驗不符或需要進一步澄清的內容,請使用 此表格 來報告文件問題。