Site icon Блог cyber01

Как включить триггеры PostgreSQL при логической репликации

Задался этим вопросом, когда настраивал триггеры на реплицируемой таблице, не выполнялись триггеры и всё тут. Вручную обновляешь таблицу — все хорошо, а вот при реплике нет.

Решение оказалось простым, хотя искать пришлось его долго:

Нужно для всех таблиц, которые реплицируются и на них должны реагировать триггеры выполнить следующий запрос:

ALTER TABLE <имя таблицы> ENABLE REPLICA TRIGGER <имя триггера, который должен сработать на эту таблицу>;

Как оказалось по умолчанию для реплицируемых с помощью логической репликации таблиц — отключено реагирование на триггеры (видимо для производительности и исключения конфликтов).

Exit mobile version