IT用語集 › データベース › LISTEN/NOTIFY

LISTEN/NOTIFY

データベース Svenska → 更新: 2026-10-22

PostgreSQL組み込みのpub/sub。ポーリングなしで、トランザクションから他の接続を起こせる。必要なコードは30文字ほど。

あるセッションが LISTEN channel で待機し、別のセッションが NOTIFY channel, 'payload' を実行すると、すべてのリスナーが目を覚ます。メッセージはトランザクションのコミット時にだけ配信されるため、ロールバックしうる出来事についても安全に通知できる。ペイロードの上限は8000文字弱。決定的な制約は永続性がないことで、その瞬間に接続していなかったリスナーはメッセージを完全に取り逃がし、確認応答も再配信もない。これはキューではなく合図だ。定番のパターンは、合図でワーカーを起こし、ワーカーがジョブテーブルを読む形である。通知はスタンバイにもレプリケートされない。

← 用語集に戻る