Skip to content

UNLISTEN ​

UNLISTEN — 停止侦听通知

概要 ​

UNLISTEN { channel | * }

说明 ​

UNLISTEN用于移除NOTIFY事件的现有注册。UNLISTEN取消当前PostgreSQL会话作为名为*channel*的通知通道上的侦听器的任何现有注册。特殊通配符*取消当前会话的所有侦听器注册。

NOTIFY中包含关于使用LISTEN和NOTIFY的更广泛讨论。

参数 ​

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