2025年9月25日: PostgreSQL 18 釋出!
支援的版本:當前 (18) / 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

提交更正

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