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