[ 永遠的UNIX::UNIX技術資料的寶庫 ]   GB | BIG5

首頁 > 數據庫 > 其它 > 正文
PostgreSQL7.0手冊-用戶手冊-19. SQL命令-LISTEN
編譯:何偉平 laser@zhengmai.com.cn (2001-04-21 22:02:41)
LISTEN
名稱
LISTEN  監聽一個通知條件的響應信息 

語法
LISTEN name
輸入
name 
通知條件名. 

輸出
LISTEN 
成功完成注冊的返回信息. 
NOTICE Async_Listen: We are already listening on name 
如果端已經注冊了該通知條件. 

描述
LISTEN 將當前 Postgres 端注冊為通知條件 name 的監聽器. 
當執行了命令 NOTIFY name ,不管是此端(進程)或者是其他一個聯接到同一數據庫的端(進程)執行的,所有正在監聽此通知條件的端(進程)都將收到通知,並且接下來每個端將通知與其相連的前端應用.請參考 NOTIFY 獲取更多信息. 

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

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

NOTIFY 的手冊頁包含更廣泛的關 LISTEN 和NOTIFY 的使用的討論. 

注意
name 可以是任何可以作為名稱有效的字符串;它不需要與任何實際表相對應.如果 name 被雙引號包圍,它甚至可以不是一個有效的語句串,而可以是任何小31字符的字符串. 
一些以前的 Postgres 版本中,如果 name 不與任何現存的表名對應就必須用雙引號括起來.不管語意上是否正確.現在不再有這個限制了.

用法
在 psql 裡配制和執行一個監聽/通知序列: 
LISTEN virtual;
NOTIFY virtual;

Asynchronous NOTIFY 'virtual' from backend with pid '8448' received.
兼容性
SQL92
在 SQL92 中沒有 LISTEN. (http://www.fanqiang.com)
    進入【UNIX論壇

相關文章
PostgreSQL7.0手冊-用戶手冊-19. SQL命令-VACUUM (2001-04-21 22:16:33)
PostgreSQL7.0手冊-用戶手冊-19. SQL命令-UPDATE (2001-04-21 22:16:12)
PostgreSQL7.0手冊-用戶手冊-19. SQL命令-UNLISTEN (2001-04-21 22:15:44)
PostgreSQL7.0手冊-用戶手冊-19. SQL命令-TRUNCATE (2001-04-21 22:15:24)
PostgreSQL7.0手冊-用戶手冊-19. SQL命令-SHOW (2001-04-21 22:15:01)
PostgreSQL7.0手冊-用戶手冊-19. SQL命令-SET (2001-04-21 22:14:42)
PostgreSQL7.0手冊-用戶手冊-19. SQL命令-SELECT INTO (2001-04-21 22:14:19)
PostgreSQL7.0手冊-用戶手冊-19. SQL命令-SELECT (2001-04-21 22:14:01)
PostgreSQL7.0手冊-用戶手冊-19. SQL命令-ROLLBACK (2001-04-21 22:13:41)
PostgreSQL7.0手冊-用戶手冊-19. SQL命令-REVOKE (2001-04-21 22:13:18)

===更多相關===
 

★  樊強制作 歡迎分享  ★