Name
UNLISTEN
--
通知の監視の停止
Synopsis
UNLISTEN { notifyname | * }
入力
- notifyname
事前に登録された通知条件名を指定します。
- *
現在このコマンドの処理を行なうバックエンドにある、全ての
監視登録をクリアします。
説明
UNLISTENは、既存のNOTIFYによる
登録を削除することに使用します。UNLISTENは現在の
Postgresセッションにある、通知条件
notifyname用の
リスナ登録を全て取り消します。ワイルドカード"*"は特別な条件
を示すもので、現在のセッションにある全てのリスナ登録を取り
消します。
NOTIFYには、
LISTENとNOTIFY
についての、より広範な説明があります。
注釈
notifyname
は有効なクラス名である必要はありませんが、その文字列長には
32文字までという制限があります。
監視をしていないものに対してUNLISTENを行なったとしても、
バックエンドは警告を行ないません。各バックエンドはその終了時に
自動的にUNLISTEN *を実行します。
使用方法
次の既存の登録に対して実行してみます。
LISTEN virtual;
LISTEN
NOTIFY virtual;
NOTIFY
Asynchronous NOTIFY 'virtual' from backend with pid '8448' received
一度UNLISTENコマンドが実行されると、下記の例のように、それ以降のNOTIFYコマンドは無視されます。
UNLISTEN virtual;
UNLISTEN
NOTIFY virtual;
NOTIFY
-- notice no NOTIFY event is received
互換性
SQL92
SQL92にはUNLISTEN文は
ありません。