pg_trigger stores triggers on tables and views. See CREATE TRIGGER for more information.
The table this trigger is on
Parent trigger that this trigger is cloned from (this happens when partitions are created or attached to a partitioned table); zero if not a clone
Trigger name (must be unique among triggers of same table)
The function to be called
Bit mask identifying trigger firing conditions
Controls in which session_replication_role modes the trigger fires.
True if trigger is internally generated (usually, to enforce the constraint identified by
The table referenced by a referential integrity constraint (zero if trigger is not for a referential integrity constraint)
The index supporting a unique, primary key, referential integrity, or exclusion constraint (zero if trigger is not for one of these types of constraint)
True if constraint trigger is deferrable
True if constraint trigger is initially deferred
Number of argument strings passed to trigger function
Column numbers, if trigger is column-specific; otherwise an empty array
Argument strings to pass to trigger, each NULL-terminated
Expression tree (in
Currently, column-specific triggering is supported only for
UPDATE events, and so
tgattr is relevant only for that event type.
tgtype might contain bits for other event types as well, but those are presumed to be table-wide regardless of what is in
tgconstraint is nonzero,
tginitdeferred are largely redundant with the referenced
pg_constraint entry. However, it is possible for a non-deferrable trigger to be associated with a deferrable constraint: foreign key constraints can have some deferrable and some non-deferrable triggers.
pg_class.relhastriggers must be true if a relation has any triggers in this catalog.