支援的版本:目前 (17) / 16 / 15 / 14 / 13
開發版本:devel
不支援的版本:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1

UNLISTEN

UNLISTEN — 停止監聽通知

概要

UNLISTEN { channel | * }

描述

UNLISTEN 用於移除現有的 NOTIFY 事件註冊。UNLISTEN 會取消目前 PostgreSQL 會話在名為 channel 的通知通道上,作為監聽者的任何現有註冊。 特殊的萬用字元 * 會取消目前會話的所有監聽者註冊。

NOTIFY 包含對 LISTENNOTIFY 使用的更廣泛討論。

參數

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 指令。

參見

LISTENNOTIFY

提交更正

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