支援的版本: 目前 (17) / 16 / 15 / 14 / 13
開發版本: devel
不支援的版本: 12 / 11 / 10

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 ... DISABLE 來停用訂閱,然後透過執行 ALTER SUBSCRIPTION ... SET (slot_name = NONE) 將其與複製槽分離。 之後,DROP SUBSCRIPTION 將不再嘗試在遠端主機上執行任何動作。 請注意,如果遠端複製槽仍然存在,則應手動刪除它(以及任何相關的資料表同步槽); 否則它/它們將繼續保留 WAL,並可能最終導致磁碟填滿。另請參閱 第 29.2.1 節

如果訂閱與複製槽相關聯,則無法在交易區塊內執行 DROP SUBSCRIPTION

範例

刪除一個訂閱

DROP SUBSCRIPTION mysub;

相容性

DROP SUBSCRIPTION 是一個 PostgreSQL 擴充功能。

提交更正

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