PostgreSQL 9.4.4 中文手册
上一页 | 上一级 |  | 下一页

# UNLISTEN

## 名称

UNLISTEN -- 停止监听通知信息

## 大纲

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

## 又见

LISTEN, NOTIFY

上一页 | 起始页 | 下一页
TRUNCATE | 上一级 | UPDATE