VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

UNLISTEN

功能描述

UNLISTEN用于停止监听一个通知,即移除一个NOTIFY事件的现有注册。

UNLISTEN表示取消任何已经存在的把当前Vastbase会话作为名为channel的通知频道的监听者的注册。可以使用通配符*表示取消当前会话的所有监听者注册。

  • LISTEN命令用于监听一个通知。

  • NOTIFY命令用于生成一个通知。

注意事项

  • 可以UNLISTEN没有监听的通知,不会出现警告或者错误。

  • 在每一个会话末尾,会自动执行UNLISTEN *。

  • 一个已经执行了UNLISTEN的事务不能为两阶段提交做准备。

  • 支持版本:

    • V2.2 Build 10(Patch No.10)及以上补丁版本。

    • V2.2 Build 13及以上版本。

语法格式

UNLISTEN { channel | * }

参数说明

  • channel

    一个通知频道的名称。

  • *

    所有用于这个会话的当前监听注册都会被清除。

示例

在vsql中配置LISTEN / NOTIFY命令,并执行UNLISTEN。

1、注册监听频道。

LISTEN virtual;

返回结果:

LISTEN

2、发送一个通知事件。

NOTIFY virtual;

返回结果:

NOTIFY
Asynchronous notification "virtual" received from server process with PID 18446744072028346112.

3、执行UNLISTEN。

UNLISTEN virtual;

4、再次执行NOTIFY。一旦UNLISTEN被执行,后续的NOTIFY消息将被忽略:

NOTIFY virtual;

兼容性

SQL标准中没有UNLISTEN命令。