Как получить вставленную / обновленную строку также с уведомлением

#postgresql #libpqxx

#postgresql #libpqxx

Вопрос:

 class receiver : public pqxx::notification_receiver
{
    std::optional<std::string> status;

public:

    receiver(pqxx::connection_base amp; c, const std::string amp; channel)
        : pqxx::notification_receiver(c, channel) { }

    void operator() (const std::string amp; payload, int pid) override
    {
        status = payload;
        std::cout << "Received notification: " << channel() << std::endl;
    };

    std::optional<std::string> get() {
        auto s = status;
        status = std::nullopt;
        return s;
    }
};
 

Я определил класс выше и создал требуемую функцию и триггер, как показано ниже в postgresql

  CREATE OR REPLACE FUNCTION notify_FN()
    RETURNS trigger AS
    $BODY$
        BEGIN
            PERFORM pg_notify('SendContactsList',
            json_build_object(
            'operation', 'TG_OP', 'record', row_to_json(NEW)
            )::text
            );
            RETURN NEW;
        END;
    $BODY$
        LANGUAGE plpgsql VOLATILE
        COST 100;
    
    CREATE TRIGGER "Notify_Update"
        AFTER INSERT OR DELETE OR UPDATE
        ON monitoring_service.monitor_rules
        FOR EACH ROW
        EXECUTE PROCEDURE public.notify_FN();
 

Я определил объект для функции SendContactList in, выполняемой в отдельном потоке.Каждый раз, когда печатается таблица обновления консоли Received notification: SendContactList , могу ли я также распечатать вставленную / обновленную строку и как?