Redrock Postgres 搜索 英文
版本: 9.3 / 9.4 / 9.5 / 9.6 / 10 / 11 / 12 / 13 / 14 / 15 / 16 / 17

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 命令。

另请参见

LISTEN, NOTIFY