他のバージョンの文書 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

UNLISTEN

Name

UNLISTEN  --  通知の監視の停止

Synopsis

UNLISTEN { notifyname | * }

入力

notifyname

事前に登録された通知条件名を指定します。

*

現在このコマンドの処理を行なうバックエンドにある、全ての監視登録をクリアします。

出力

UNLISTEN

命令文が実行された証明です。

説明

UNLISTENは、既存のNOTIFYによる登録を削除することに使用します。UNLISTENは現在の PostgreSQLセッションにある、通知条件 notifyname用のリスナ登録を全て取り消します。ワイルドカード*は特別な条件を示すもので、現在のセッションにある全てのリスナ登録を取り消します。

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

注釈

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
-- NOTIFYイベントを受けとっていないことに注目して下さい。

互換性

SQL92

SQL92にはUNLISTEN文はありません。