UNLISTEN
UNLISTEN — 停止监听一个通知
大纲
UNLISTEN { channel
| * }
描述
UNLISTEN
被用来移除一个已经存在的对
NOTIFY
事件的注册。
UNLISTEN
取消任何已经存在的把当前
PostgreSQL会话作为名为
channel
的通知
频道的监听者的注册。特殊的通配符*
取消当前会话
的所有监听者注册。
NOTIFY包含有关LISTEN
和NOTIFY
使用的更深入讨论。
参数
channel
一个通知频道的名称(任何标识符)。
*
所有用于这个会话的当前监听注册都会被清除。
注解
你可以 unlisten 你没有监听的东西,不会出现警告或者错误。
在每一个会话末尾,会自动执行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
命令。
文章转载自PostgreSQL全球开发组,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。