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