52.60. pg_trigger

В каталоге pg_trigger хранятся триггеры для таблиц и представлений. За дополнительными сведениями обратитесь к описанию CREATE TRIGGER.

Таблица 52.60. Столбцы pg_trigger

Тип столбца

Описание

oidoid

Идентификатор строки

tgrelidoid (ссылается на pg_class.oid)

Таблица, к которой относится этот триггер

tgparentidoid (ссылается на pg_trigger.oid)

Родительский триггер, из которого был скопирован данный (это поле заполняется, когда секция создаётся или присоединяется к секционированной таблице); ноль, если данный триггер — не копия

tgnamename

Имя триггера (должно быть уникальным среди триггеров одной таблицы)

tgfoidoid (ссылается на pg_proc.oid)

Вызываемая функция

tgtypeint2

Битовая маска, задающая условия срабатывания триггера

tgenabledchar

Устанавливает, в каких режимах session_replication_role срабатывает триггер: O = триггер срабатывает в режимах «origin» (источник) и «local» (локально), D = триггер отключён, R = триггер срабатывает в режиме «replica» (реплика), A = триггер срабатывает всегда.

tgisinternalbool

True, если триггер создан внутри системы (обычно, для реализации ограничения, заданного в tgconstraint)

tgconstrrelidoid (ссылается на pg_class.oid)

Таблица, задействованная в ограничении ссылочной целостности (ноль, если триггер предназначен не для реализации ограничения ссылочной целостности)

tgconstrindidoid (ссылается на pg_class.oid)

Индекс, поддерживающий ограничение уникальности, первичного ключа или ссылочной целостности, либо ограничение-исключение (ноль, если триггер предназначен не для реализации таких ограничений)

tgconstraintoid (ссылается на pg_constraint.oid)

Запись в pg_constraint, связанная с этим триггером (ноль, если триггер предназначен не для реализации ограничения)

tgdeferrablebool

True, если триггер ограничения является откладываемым

tginitdeferredbool

True, если триггер ограничения изначально отложенный

tgnargsint2

Число аргументов, передаваемых функции триггера

tgattrint2vector (ссылается на pg_attribute.attnum)

Номера столбцов, если триггер привязан к столбцам; в противном случае пустой массив

tgargsbytea

Аргументы строкового типа, передаваемые триггеру, с NULL в конце каждого

tgqualpg_node_tree

Дерево выражения (в представлении nodeToString()) для условия триггера WHEN, либо NULL, если оно отсутствует

tgoldtablename

Предложение REFERENCING для OLD TABLE или NULL в случае его отсутствия

tgnewtablename

Предложение REFERENCING для NEW TABLE или NULL в случае его отсутствия


В настоящее время триггеры, привязанные к столбцам, поддерживаются только для событий UPDATE, так что tgattr применимо только к событиям такого типа. Поле tgtype может содержать биты и для других типов событий, но они распространяются только на таблицы, вне зависимости от значения tgattr.

Примечание

Когда tgconstraint содержит не ноль, то есть ссылается на запись в pg_constraint, поля tgconstrrelid, tgconstrindid, tgdeferrable и tginitdeferred по большому счёту избыточны, они повторяют значения в этой записи. Однако возможно связать неоткладываемый триггер с откладываемым ограничением: с ограничениями внешнего ключа могут быть связаны и откладываемые, и неоткладываемые триггеры.

Примечание

Если для отношения есть какие-либо триггеры в этом каталоге, значением pg_class.relhastriggers для неё должно быть true.

close