Я создал следующий триггер для отслеживания всех изменений в таблице postgres.
DROP TRIGGER tr_request_update_notify ON requests;
CREATE OR REPLACE FUNCTION request_update_notify() RETURNS trigger as $$
BEGIN
PERFORM pg_notify('request_update_notify', json_build_object('table', TG_TABLE_NAME, 'id', NEW.id, 'event', NEW.event, 'type', TG_OP)::text);
RETURN NEW;
END;
$$ LANGUAGE plpgsql;
CREATE TRIGGER tr_request_update_notify AFTER UPDATE or INSERT ON requests FOR EACH ROW EXECUTE PROCEDURE request_update_notify();
Другое приложение будет прослушивать соединение и применять соответствующую обработку для каждого события.
Если событие происходит, а мое приложение не запущено, событие никогда не будет обработано. Есть ли способ просмотреть все пропущенные уведомления?