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