UNLISTEN { name | * }
UNLISTEN 用于删除一个现有的已注册的 NOTIFY 事件。 UNLISTEN 取消当前 PostgreSQL 会话中的所有对通知条件 notifyname 监听。 特殊的条件通配符 * 则取消对当前会话的所有通知条件的监听。
NOTIFY [notify(7)] 包含一些对 LISTEN 和 NOTIFY 的使用的更广泛的讨论。
如果你 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。