LISTEN

名前

LISTEN -- 通知の監視

概要

LISTEN name

説明

LISTEN は現在のセッションを、通知条件 name のリスナとして登録します。 現在のセッションで既にこの通知条件のリスナとして登録されている場合は何も起こりません。

このセッションまたは同一データベースに接続している別のセッションによって NOTIFY name が実行されると、現在この通知条件を監視しているセッション全てに対して通知がなされます。 そして、各セッションは同様に接続中のクライアントアプリケーションに通知します。 より詳細については NOTIFY を参照して下さい。

UNLISTEN コマンドを使って、セッションに登録された指定通知条件を解除できます。 また、セッションの監視登録は、そのセッションが終了した時点で自動的に削除されます。

クライアントアプリケーションが通知イベントを検出するために使わなければならない方法は、それがどの PostgreSQL アプリケーションプログラミングインタフェースを使用しているのかに依存します。 libpq ライブラリを使用するアプリケーションでは、LISTEN を通常の SQL コマンドとして発行し、その後、ルーチン PQnotifies を定期的に呼び出して通知イベントが受信されたかどうかを調べる必要があります。 libpgtcl 等の他のインタフェースの場合は、 通知イベントを扱うためのより高レベルな方法が用意されています。 実際、libpgtcl を使ったアプリケーションの場合、プログラマが LISTENUNLISTEN を直接発行する必要すらありません。 詳細については、ご使用のライブラリのドキュメンテーションを参照してください。

NOTIFYには、LISTEN および NOTIFY についてのより広範な説明があります。

パラメータ

name

通知条件の名前です。(任意の識別子です。)

psql から監視/通知処理の設定と実行を行ないます。

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

互換性

標準SQL に LISTEN はありません。

関連項目

NOTIFY, UNLISTEN