Notificaciones en tiempo real (SSE)
Suscríbete a canales NOTIFY de PostgreSQL mediante Server-Sent Events:
curl -N "http://localhost:8080/db/my_database/sse?channels=orders,users" \
-H "Authorization: Bearer $TOKEN"Cada mensaje es JSON con el canal y el payload:
{"channel":"orders","data":{"id":123,"status":"created"}}Si el payload es texto, se envuelve como string en data.
Enviar notificaciones desde PostgreSQL
Desde psql o cualquier sesión de base de datos:
-- Payload de texto simple
NOTIFY orders, 'nuevo pedido';
-- Payload JSON
NOTIFY orders, '{"id":123,"status":"created"}';
Desde un trigger o procedimiento almacenado:
PERFORM pg_notify('orders', json_build_object('id', NEW.id, 'status', NEW.status)::text);Nota:
NOTIFY solo se entrega a otras sesiones tras el commit de la transacción
que lo envió. Si lo ejecutas dentro de una transacción abierta en psql, los suscriptores no
lo recibirán hasta el COMMIT.