UNLISTEN
功能描述
UNLISTEN用于停止监听一个通知,即移除一个NOTIFY事件的现有注册。
UNLISTEN表示取消任何已经存在的把当前Vastbase会话作为名为channel的通知频道的监听者的注册。可以使用通配符*表示取消当前会话的所有监听者注册。
注意事项
可以UNLISTEN没有监听的通知,不会出现警告或者错误。
在每一个会话末尾,会自动执行UNLISTEN *。
一个已经执行了UNLISTEN的事务不能为两阶段提交做准备。
语法格式
UNLISTEN { channel | * }
参数说明
channel
一个通知频道的名称。
*
所有用于这个会话的当前监听注册都会被清除。
示例
前置条件
使用vsql工具连接至客户端。
vsql -d vastbase -p 5432 -r
示例步骤: 在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命令。