Postgres найти, какие таблицы изменены в триггере DML - PullRequest
1 голос
/ 28 января 2020

У меня есть сотни триггеров DML в нескольких схемах. Большинство из них модифицируют DML более чем одной таблицы.

Используя таблицы information_schema.triggers и pg_trigger, я могу найти только список триггеров и таблицы событий триггеров.

Можно ли получить список измененных таблиц (цель триггера таблицы) по каждому триггеру?

1 Ответ

1 голос
/ 28 января 2020

Нет, поскольку действие триггера является функцией, а функции хранятся в виде простых строк в столбце prosrc таблицы системного каталога pg_proc.

Вы можете выполнить поиск таблицы без учета регистра имена в этом столбце, но вы получите ложные срабатывания (любые, если используется Dynami c SQL, с парой ложных отрицаний).

...