pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
UNLISTEN — 停止监听某个通知
UNLISTEN { notifyname | * }
notifyname先前注册的通知条件的名称。
*清除该后端当前的所有监听注册。
→ UNLISTEN语句已执行的确认。
UNLISTEN 用于移除一个现有的NOTIFY注册。 UNLISTEN取消当前 PostgreSQL会话作为通知条件 notifyname监听者的任何 现有注册。特殊的条件通配符*取消当前会话的 所有监听者注册。
NOTIFY 中包含关于LISTEN和 NOTIFY用法的更广泛的讨论。
notifyname 不需要是有效的类名,而可以是任何可作为名称使用的、长度不超过 64 个字符的字符串。
后端不会因为你取消监听一个你并没有在监听的东西而抱怨。 每个后端退出时都会自动执行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
UNLISTEN 在 SQL92 中没有。
译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。