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

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

另请参阅

LISTENNOTIFY