Notifications temps réel (SSE)
Abonnez-vous aux canaux NOTIFY de PostgreSQL via Server-Sent Events :
curl -N "http://localhost:8080/db/my_database/sse?channels=orders,users" \
-H "Authorization: Bearer $TOKEN"Chaque message est du JSON avec le canal et le payload :
{"channel":"orders","data":{"id":123,"status":"created"}}Si le payload est du texte, il est encapsulé en string dans data.
Envoyer des notifications depuis PostgreSQL
Depuis psql ou n’importe quelle session de base de données :
-- Payload texte simple
NOTIFY orders, 'nouvelle commande';
-- Payload JSON
NOTIFY orders, '{"id":123,"status":"created"}';
Depuis un trigger ou une procédure stockée :
PERFORM pg_notify('orders', json_build_object('id', NEW.id, 'status', NEW.status)::text);Remarque :
NOTIFY n’est délivré aux autres sessions qu’après le commit de la
transaction émettrice. Si vous l’exécutez à l’intérieur d’une transaction ouverte dans psql,
les abonnés ne le recevront qu’après le COMMIT.