2024 年 9 月 26 日: PostgreSQL 17 发布!
支持版本:当前 (17) / 16 / 15 / 14 / 13 / 12
开发版本:devel
不支持的版本: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

提交更正

如果您在文档中看到任何不正确的内容,与您对特定功能的体验不符或需要进一步说明,请使用 此表格 报告文档问题。