Real-time notifikace (SSE)
Přihlaste se k PostgreSQL NOTIFY kanálům přes Server-Sent Events:
curl -N "http://localhost:8080/db/my_database/sse?channels=orders,users" \
-H "Authorization: Bearer $TOKEN"Každá zpráva je JSON s názvem kanálu a payloadem:
{"channel":"orders","data":{"id":123,"status":"created"}}Pokud je payload text, zabalí se jako string do data.
Odesílání notifikací z PostgreSQL
Z psql nebo jakékoli databázové session:
-- Jednoduchý textový payload
NOTIFY orders, 'nova objednavka';
-- JSON payload
NOTIFY orders, '{"id":123,"status":"created"}';
Z triggeru nebo uložené procedury:
PERFORM pg_notify('orders', json_build_object('id', NEW.id, 'status', NEW.status)::text);Poznámka:
NOTIFY se doručí ostatním sessions až po commitu transakce, která ho
odeslala. Pokud ho spustíte uvnitř otevřené transakce v psql, odběratelé ho obdrží až po
COMMIT.