历史版本。 PostgreSQL 7.2 已结束支持。 请参阅 当前版本手册.
UNLISTEN
UNLISTEN — 停止监听某个通知
大纲
UNLISTEN { notifyname | * }
输入
notifyname先前注册的通知条件的名称。
*清除该后端当前的所有监听注册。
输出
→UNLISTEN语句已执行的确认。
描述
UNLISTEN
用于移除一个现有的NOTIFY注册。UNLISTEN 取消当前
PostgreSQL会话作为通知条件
notifyname监听者的任何现有注册。特殊的条件通配符*取消当前会话的所有监听者注册。
NOTIFY
中包含关于LISTEN和
NOTIFY用法的更广泛的讨论。
注解
notifyname
不需要是有效的类名,而可以是任何可作为名称使用的、长度不超过
32 个字符的字符串。
后端不会因为你 UNLISTEN 一个你并没有在监听的东西而抱怨。每个后端退出时都会自动执行UNLISTEN *。
用法
订阅一个现有的注册:
LISTEN virtual; LISTEN NOTIFY virtual; NOTIFY Asynchronous NOTIFY 'virtual' from backend with pid '8448' received
一旦执行了 UNLISTEN,后续的 NOTIFY 命令会被忽略:
UNLISTEN virtual; UNLISTEN NOTIFY virtual; NOTIFY -- notice no NOTIFY event is received
兼容性
SQL92
UNLISTEN 在 SQL92 中没有。