Arch manual pages

LISTEN(7) SQL Commands LISTEN(7)

LISTEN - 監聽一個通知

LISTEN name

LISTEN 將當前會話註冊爲通知條件 name

當執行了命令 NOTIFY name 後,不管是此會話還是其他聯接到同一數據庫的會話執行的, 所有正在監聽此通知條件的會話都將收到通知, 並且接下來每個會話將通知與其相連的前端應用.請參考 NOTIFY 獲取更多信息.

使用 UNLISTEN 命令,可以將一個會話內已註冊的通知條件刪除. 同樣,會話退出時自動刪除該會話正在監聽的已註冊通知條件.

前端應用檢測通知事件的方法取決於 PostgreSQL 應用使用的編程接口. 如果使用基本的libpq庫, 應用將 LISTEN 當作普通 SQL 命令使用,而且必須週期地調用 PQnotifies 過程來檢測是否有通知到達. 其他像libpgtcl接口提供了更高級的控制通知事件的方法;實際上, 使用libpgtcl,應用程序員不應該直接使用 LISTEN 或 UNLISTEN. 請參考你使用的接口的文檔獲取更多細節.

NOTIFY [notify(7)] 的手冊頁包含更廣泛的關於 LISTEN 和 NOTIFY 的使用的討論.

name
通知條件名 (任何標識符)。

psql 裏配製和執行一個監聽/通知序列:

LISTEN virtual;
NOTIFY virtual;
Asynchronous notification "virtual" received from server process with PID 8448.

在 SQL 標準裏沒有 LISTEN

NOTIFY [notify(7)], UNLISTEN [unlisten(l)]

Postgresql 中文網站 何偉平 <laser@pgsqldb.org>

本頁面中文版由中文 man 手冊頁計劃提供。
中文 man 手冊頁計劃:https://github.com/man-pages-zh/manpages-zh
2003-11-02 SQL - Language Statements