51.58. pg_trigger#
51.58. pg_trigger
Каталог pg_trigger
хранит триггеры на таблицы и представления.
См. CREATE TRIGGER
для получения дополнительной информации.
Таблица 51.58. pg_trigger
Колонки
Тип столбца Описание |
---|
Идентификатор строки |
Таблица, на которой находится этот триггер |
Родительский триггер, от которого был клонирован данный триггер (это происходит при создании или присоединении секций к секционированной таблице); ноль, если не является клоном |
Имя триггера (должно быть уникальным среди триггеров этой же таблицы) |
Функция, которую нужно вызвать |
Битовая маска, определяющая условия срабатывания триггера |
Управляет режимами, в которых срабатывает триггер.
session_replication_role - режимы, в которых срабатывает триггер.
|
True если триггер создан внутренне (обычно, для обеспечения
ограничения, идентифицированного |
Таблица, на которую ссылается ограничение ссылочной целостности (ноль, если триггер не предназначен для ограничения ссылочной целостности) |
Индекс, поддерживающий ограничение уникальности, первичный ключ, ссылочную целостность или ограничение-исключение (ноль, если триггер не относится к одному из этих типов ограничений) |
Запись |
True, если ограничительный триггер может быть отложенным |
True, если триггер ограничения изначально отложен |
Количество переданных аргументов строк в триггерную функцию |
Номера столбцов, если триггер является специфичным для столбца; в противном случае - пустой массив |
Аргументные строки, передаваемые в триггер, каждая с символом NULL в конце |
Дерево выражений (в представлении функции |
|
|
В настоящее время поддерживается только специфическая для столбцов триггерная обработка для событий UPDATE
, поэтому tgattr
актуален только для этого типа событий. tgtype
также может содержать биты для других типов событий, но они считаются глобальными для таблицы, независимо от содержимого tgattr
.
Примечание
Когда tgconstraint
не равно нулю, tgconstrrelid
, tgconstrindid
, tgdeferrable
и tginitdeferred
в значительной степени дублируются с соответствующей записью pg_constraint
. Однако возможно, что неоткладываемый триггер может быть связан с дифференцируемым ограничением: ограничения внешнего ключа могут иметь как дифференцируемые, так и неоткладываемые триггеры.
Примечание
pg_class.relhastriggers
должно быть true, если у отношения есть какие-либо триггеры в этом каталоге.