UNLISTEN
UNLISTEN — 停止監聽通知
語法
UNLISTEN { channel | * }
說明
UNLISTEN 用於移除現有已註冊的 NOTIFY 事件。UNLISTEN 取消目前 PostgreSQL 連線的任何現有註冊,名稱為 channel 的通知通道上的監聽器。特殊符號 * 為取消目前連線已註冊的所有監聽器。
NOTIFY 包含了對 LISTEN 和 NOTIFY 使用上更廣泛的討論。
參數
channel
通知通道的名稱(任何標識字)。
*
清除此連線目前已註冊的所有監聽。
注意
你可以取消你不要監聽的東西;不會出現警告或錯誤。
在每個連線結束時,UNLISTEN * 會自動執行。
已執行 UNLISTEN 的事務無法為兩階段提交做準備。
範例
進行註冊:
LISTEN virtual;
NOTIFY virtual;
Asynchronous notification "virtual" received from server process with PID 8448.
一旦執行了 UNLISTEN,將忽略之後的 NOTIFY 訊息:
UNLISTEN virtual;
NOTIFY virtual;
-- no NOTIFY event is received
相容性
SQL 標準中沒有 UNLISTEN 指令。