历史版本。 PostgreSQL 6.4 已结束支持。 请参阅 当前版本手册.
UNLISTEN
UNLISTEN — 停止监听通知
大纲
UNLISTEN { notifyname | * }输入
notifyname先前注册的通知条件的名称。
*清除该后端当前的所有监听注册。
输出
- →
UNLISTEN 语句已执行的确认。
描述
UNLISTEN
用于移除一个现有的NOTIFY注册。UNLISTEN 取消当前
Postgres会话作为通知条件
notifyname监听者的任何现有注册。特殊的条件通配符"*"取消当前会话的所有监听者注册。
NOTIFY中包含关于LISTEN和
NOTIFY用法的更广泛的讨论。
注解
classname
不需要是有效的类名,而可以是任何可作为名称使用的、长度不超过
32 个字符的字符串。
后端不会因为你 UNLISTEN 一个你并没有在监听的东西而抱怨。每个后端退出时都会自动执行UNLISTEN *。
Postgres一些早期版本中,不对应实际表的
classname必须用双引号括起来的限制已不存在。
用法
postgres=> LISTEN virtual; LISTEN postgres=> NOTIFY virtual; NOTIFY ASYNC NOTIFY of 'virtual' from backend pid '12317' received
postgres=> UNLISTEN virtual; UNLISTEN postgres=> NOTIFY virtual; NOTIFY -- notice no NOTIFY event is received postgres=>
兼容性
SQL92
UNLISTEN 在 SQL92 中没有。