UNLISTEN

Name

UNLISTEN -- 通知の監視を停止する。

Synopsis

UNLISTEN { notifyname | * }

入力

notifyname

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

*

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

出力

UNLISTEN

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

説明

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

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

注意

classname は有効なクラス 名である必要はありませんが、その文字列長は 32 文字までという制限があ ります。 (訳注: classnameはnotifynameの間違いだと思われます。)

監視をしていないものに対して UNLISTEN を行なったとしても、バックエンド は警告を行ないません。各バックエンドはその終了時に自動的に UNLISTEN * を実行します。

Postgres の以前のリリースにあった、実際の テーブルに対応していない classname はダブルクォート で括らなければならないという制限はもうありません。 (訳注: classname は notifyname の間違いだと思われます。)

使用法

postgres=> LISTEN virtual;
LISTEN
postgres=> NOTIFY virtual;
NOTIFY
ASYNC NOTIFY of 'virtual' from backend pid '12317' received
postgres=> UNLISTEN virtual;
UNLISTEN
postgres=> NOTIFY virtual;
NOTIFY
-- NOTIFY イベントを受け取らなかった点に注目して下さい。
postgres=>

互換性

SQL92

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