Skip to content

DB миграция: pg_notify триггер для webhook_updates #10

@plagness

Description

@plagness

Phase 2: PostgreSQL LISTEN/NOTIFY триггер

Автоматическая нотификация при INSERT в webhook_updates для реалтайм стриминга.

Файлы

  • db/init/18_realtime_notify.sqlновый

SQL

CREATE OR REPLACE FUNCTION notify_new_update() RETURNS TRIGGER AS $$
BEGIN
    PERFORM pg_notify('new_update', json_build_object(
        'id', NEW.id,
        'update_type', NEW.update_type,
        'chat_id', NEW.chat_id,
        'user_id', NEW.user_id,
        'update_id', NEW.update_id
    )::text);
    RETURN NEW;
END;
$$ LANGUAGE plpgsql;

CREATE TRIGGER trg_webhook_updates_notify
    AFTER INSERT ON webhook_updates
    FOR EACH ROW
    EXECUTE FUNCTION notify_new_update();

Контекст

Предпосылка для SSE стриминга. pg_notify работает с минимальным overhead (~100 байт per notification).

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1Важно: текущий sprint/фазаtype:infraCI, K8s, Docker, деплой, мониторинг

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions