Redrock Postgres 搜索 英文
版本: 9.3 / 9.4 / 9.5 / 9.6 / 10 / 11 / 12 / 13 / 14 / 15 / 16

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