Подсказка из триггера PSQL - PullRequest
0 голосов
/ 24 июля 2010

В моей программе я обращаюсь к базе данных Postgresql.

Я не хочу регулярно просматривать базу данных,

Так что, когда указанная таблица изменяется с помощью различных действий (вставка, обновление, удаление), Мне нужно получить сигнал или сообщение для моей программы,

Итак, у меня есть идея использовать Trigger, но я не знаю, как отправить сигнал, API или сообщение в мою программу (это может быть программа на C или Perl) из Trigger,

Если я получу сигнал, я буду читать из базы данных и получу обновления, Если я получу API, я проанализирую API и получу обновление

Как я могу это сделать?

Пожалуйста, помогите мне.

1 Ответ

3 голосов
/ 24 июля 2010

Используйте оператор PostgreSQL NOTIFY в триггере и попросите заинтересованный сеанс вызвать оператор LISTEN.LISTEN не блокируется.Он просто регистрирует интерес к названному состоянию.Сообщения будут доставляться асинхронно в тот сеанс, когда триггер вызывает NOTIFY с тем же именем условия.

В Perl вы, вероятно, не будете использовать оператор LISTEN напрямую.Например, DBD :: Pg предоставляет специальный механизм pg_notifies для достижения того же эффекта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...