UNLISTEN
概要
UNLISTEN { channel | * }
説明
UNLISTENを使うと、既存のNOTIFYイベントの登録を削除することができます。
UNLISTENは、現在のPostgreSQLセッションにある、nameという名前の通知チャネルのリスナ登録を全て取り消します。
ワイルドカード*は特別な条件を表します。これを指定すると、現在のセッションにある全てのリスナ登録が取り消されます。
NOTIFYには、LISTENとNOTIFYについてのより広範な説明があります。
パラメータ
- channel
通知チャネルの名称です(任意の識別子)。
- *
このセッションにおける、全ての監視登録をクリアします。
注釈
監視をまったく行っていない状態でもこのコマンドは実行できます。
警告やエラーは表示されません。
セッション終了時に、自動的にUNLISTEN *が実行されます。
UNLISTENを実行したトランザクションは二相コミット用を準備することはできません。
例
登録を行います。
LISTEN virtual;
NOTIFY virtual;
Asynchronous notification "virtual" received from server process with PID 8448.
UNLISTENが実行されると、その後のNOTIFYメッセージは無視されます。
UNLISTEN virtual;
NOTIFY virtual;
-- NOTIFYイベントを受け取りません。
互換性
標準SQLにはUNLISTENコマンドはありません。