支持的版本: 当前 (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 命令。

参见

LISTEN, NOTIFY

提交更正

如果您发现文档中的任何内容不正确、与您特定功能的使用体验不符或需要进一步澄清,请使用此表单来报告文档问题。