LISTENは現在のセッションを、通知条件nameのリスナとして登録します。 現在のセッションで既にこの通知条件のリスナとして登録されている場合は何も起こりません。
このセッションまたは同一データベースに接続している別のセッションによってNOTIFY nameが実行されると、現在この通知条件を監視しているセッション全てに対して通知がなされます。 そして、各セッションは同様に接続中のクライアントアプリケーションに通知します。 より詳細についてはNOTIFYを参照してください。
UNLISTENコマンドを使って、セッションに登録された指定通知条件を解除できます。 また、セッションの監視登録はそのセッションが終了した時点で自動的に削除されます。
クライアントアプリケーションが通知イベントを検出するために使わなければならない方法は、それがどのPostgreSQLアプリケーションプログラミングインタフェースを使用しているのかに依存します。 libpqライブラリを使用するアプリケーションでは、LISTENを通常のSQLコマンドとして発行し、その後、PQnotifiesルーチンを定期的に呼び出して通知イベントが受信されたかどうかを調べる必要があります。 libpgtcl等の他のインタフェースの場合は、 通知イベントを扱うためのより高レベルな方法が用意されています。 実際、libpgtclを使ったアプリケーションの場合、プログラマがLISTENやUNLISTENを直接発行する必要すらありません。 詳細については、使用中のインタフェースの文書を参照してください。
NOTIFYには、LISTENおよびNOTIFYについてのより広範な説明があります。