UNLISTEN
Name
UNLISTEN -- 停止监听通知信息
Synopsis
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;
-- 收不到 NOTIFY 事件
兼容性
SQL 标准里没有UNLISTEN
命令。