ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# UNLISTEN ## Name UNLISTEN -- 停止监听通知信息 ## Synopsis ``` UNLISTEN { _channel_ | * } ``` ## 描述 `UNLISTEN`用于删除一个现有的已注册`NOTIFY`事件。 `UNLISTEN`取消当前PostgreSQL 会话中所有对通知通道名为`_channel_`的监听。 特殊的条件通配符`*`取消对当前会话的所有监听。 [NOTIFY](#calibre_link-982)包含一些对`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`命令。 ## 又见 [LISTEN](#calibre_link-983), [NOTIFY](#calibre_link-982)