STATEMENT триггуры на партициях (декларативное партицирование, PostgreSQL 10.6). В документации сказано:
A statement that targets a parent table in an inheritance or partitioning hierarchy does not cause the statement-level triggers of affected child tables to be fired; only the parent table's statement-level triggers are fired.
Однако на самом деле я наблюдаю такую картину: AFTER INSERT/DELETE/UPDATE STATEMENT триггер выполняется действительно только для мастер таблицы, а AFTER TRUNCATE STATEMENT триггер как для мастер таблицы, так и для всех ее партиций. Чем объясняется такое поведение?
Возможно, так реализована логика партиций, согласно которой их по-отдельности никогда не надо трогать, кроме как удалять (DROP/TRUNCATE/DETACH). Но это так, версия наугад.
Обсуждают сегодня