Вопрос

Я должен создать вызов процесса на поле (ы) БД, являющийся определенным состоянием. Я слышал, вы можете выполнить вызов скручиваемости с помощью Trigger DB, но Google не достаточно добрый, чтобы вернуть все, что я могу использовать.

Так что я думаю, мой вопрос - три части:

  1. Это может быть сделано?
  2. Ссылка?
  3. Альтернативное решение?

Рабочий процесс:

Поле БД обновляется со статусом, необходимо отключить скрипт / запрос / процесс, который запускается следующий шаг в моем рабочем потоке (это сценарий PHP), который будет вытащить записанную в БД и обрабатывать другой шаг, затем обновить БД с результаты, достижения.

Это было полезно?

Решение

Вы не должны использовать триггеры для этого, как триггерные блоки с транзакциями, чтобы она сделала вашу базу данных очень медленно. Также вам нужно будет установить небезопасный язык для Postgres - PL / SH, PL / Perl, PL / Python или другой.

Для этой проблемы есть 2 лучших решения:

  • есть процесс, который подключается к базе данных и СЛУШАТЬs for. УВЕДОМЛЯТЬ События, созданные вашим триггером - это будет работать мгновенно;

  • Периодически проверяйте новые данные, используя, например, скрипт CRON - это будет работать с задержкой.

Другие советы

Если вы можете вызвать скрипт оболочки,http://plsh.projects.postgresql.org/Вы можете назвать локон.

Но я получаю жуткое чувство о подходе ...

  • Если удаленный сервер выходит в автономный режим, несоответствие данных ??

Альтернатива:

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

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

С уважением, // t

Я думаю, что вы ищете, это триггер в Postgres, которые будут запускать тренировочный скрипт. Триггеры объяснены в Документация, Синтаксис для добавления нового триггера объясняется здесь. Отказ Тип триггера, который вы ищете, кажется, на триггере обновления после обновления. Насколько я знаю, сценарий, который вы запустите, придется проверить, является ли поле необходимым статусом, поскольку Postgres всегда будет запустить триггер.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top