UNLISTEN

Name

UNLISTEN -- 停止监听通知信息

Synopsis

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.
从服务器接收到的异步通知“虚拟”用PID 8448处理。

一旦执行了UNLISTEN,以后的NOTIFY消息都将被忽略:

UNLISTEN virtual;
NOTIFY virtual;
-- no NOTIFY event is received

兼容性

SQL标准里没有UNLISTEN命令。

又见

LISTEN, NOTIFY