Skip to content

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