UNLISTEN

Name

UNLISTEN  -- 通知の監視の停止

Synopsis

UNLISTEN { notifyname | * }
  

入力

notifyname

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

*

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

出力

UNLISTEN

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

説明

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

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

注釈

notifyname は有効なクラス名である必要はありませんが、その文字列長には 64 文字までという制限があります。

監視をしていないものに対して 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 文はありません。