UNLISTEN

Name

UNLISTEN  --  通知の監視の停止

Synopsis

UNLISTEN { notifyname | * }
  

入力

notifyname

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

*

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

出力

UNLISTEN

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

説明

UNLISTENは、既存のNOTIFY の登録を削除する時に使用します。UNLISTENは現在の Postgresセッションにある、通知条件 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
-- notice no NOTIFY event is received

互換性

SQL92

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