pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
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=>
UNLISTEN 在 SQL92 中没有。
译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。