Разница между правилами перезаписи в PostgreSQL и триггерами заключается в их назначении и поведении:
- Правила перезаписи позволяют изменять способ выполнения запросов. 3 Они сообщают PostgreSQL, как обрабатывать определённый тип запроса к определённой таблице или представлению. 3 Правила перезаписи могут быть определены для SELECT, UPDATE, INSERT и DELETE. 3
- Триггеры — это механизм, который позволяет автоматически выполнять конкретную операцию при наступлении некоторого события в базе данных. 4 Триггеры активируются при выполнении команд INSERT, UPDATE или DELETE. 4 В зависимости от времени выполнения относительно события, триггеры можно разделить на срабатывающие до (BEFORE), после (AFTER) или вместо выполнения команды (INSTEAD OF). 4
Таким образом, правила перезаписи изменяют существующий запрос или создают ещё один, а триггеры срабатывают для каждой обрабатываемой строки. 6 Поэтому, если один оператор обрабатывает сразу много строк, правило, добавляющее дополнительную команду, скорее всего, будет работать быстрее, чем триггер, который вызывается для каждой очередной строки и должен каждый раз определять, что с ней делать. 6