Realtime-Benachrichtigungen (SSE)
Abonnieren Sie PostgreSQL-NOTIFY-Kanäle über Server-Sent Events:
curl -N "http://localhost:8080/db/my_database/sse?channels=orders,users" \
-H "Authorization: Bearer $TOKEN"Jede Nachricht ist JSON mit Kanal und Payload:
{"channel":"orders","data":{"id":123,"status":"created"}}Wenn der Payload Text ist, wird er als String in data verpackt.
Benachrichtigungen aus PostgreSQL senden
Aus psql oder einer beliebigen Datenbank-Session:
-- Einfacher Text-Payload
NOTIFY orders, 'neue Bestellung';
-- JSON-Payload
NOTIFY orders, '{"id":123,"status":"created"}';
Aus einem Trigger oder einer gespeicherten Prozedur:
PERFORM pg_notify('orders', json_build_object('id', NEW.id, 'status', NEW.status)::text);Hinweis:
NOTIFY wird erst nach dem Commit der sendenden Transaktion an andere
Sessions zugestellt. Wenn Sie es innerhalb einer offenen Transaktion in psql ausführen,
erhalten Abonnenten die Nachricht erst nach COMMIT.