PostgreSQL 14 ← 13
← 目录图谱 / pg_trigger
SYSTEM CATALOG · 系统目录
pg_trigger
The catalog pg_trigger stores triggers on tables and views. See CREATE TRIGGER for more information.
已与 PostgreSQL 18.6 实例逐字段核对 · 原始实测记录 ↗
字段结构 PostgreSQL 18
pg_triggerPostgreSQL 19 beta 3 是预发布快照,结构在正式发布前仍可能变化。
| 字段 / COLUMN | 类型 / TYPE | 说明 / DESCRIPTION |
|---|---|---|
oid |
oidNOT NULL |
Row identifier |
tgrelid |
oidNOT NULL |
The table this trigger is on引用:pg_class.oid |
tgparentid |
oidNOT NULL |
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引用:pg_trigger.oid |
tgname |
nameNOT NULL |
Trigger name (must be unique among triggers of same table) |
tgfoid |
oidNOT NULL |
The function to be called引用:pg_proc.oid |
tgtype |
smallintNOT NULL文档原写法:int2 |
Bit mask identifying trigger firing conditions |
tgenabled |
"char"NOT NULL文档原写法:char |
Controls in which session_replication_role modes the trigger fires. O = trigger fires in “origin” and “local” modes, D = trigger is disabled, R = trigger fires in “replica” mode, A = trigger fires always. |
tgisinternal |
booleanNOT NULL文档原写法:bool |
True if trigger is internally generated (usually, to enforce the constraint identified by tgconstraint) |
tgconstrrelid |
oidNOT NULL |
The table referenced by a referential integrity constraint (zero if trigger is not for a referential integrity constraint)引用:pg_class.oid |
tgconstrindid |
oidNOT NULL |
The index supporting a unique, primary key, referential integrity, or exclusion constraint (zero if trigger is not for one of these types of constraint)引用:pg_class.oid |
tgconstraint |
oidNOT NULL |
The pg_constraint entry associated with the trigger (zero if trigger is not for a constraint)引用:pg_constraint.oid |
tgdeferrable |
booleanNOT NULL文档原写法:bool |
True if constraint trigger is deferrable |
tginitdeferred |
booleanNOT NULL文档原写法:bool |
True if constraint trigger is initially deferred |
tgnargs |
smallintNOT NULL文档原写法:int2 |
Number of argument strings passed to trigger function |
tgattr |
int2vectorNOT NULL |
Column numbers, if trigger is column-specific; otherwise an empty array引用:pg_attribute.attnum |
tgargs |
byteaNOT NULL |
Argument strings to pass to trigger, each NULL-terminated |
tgqual |
pg_node_tree |
Expression tree (in nodeToString() representation) for the trigger's WHEN condition, or null if none |
tgoldtable |
name |
REFERENCING clause name for OLD TABLE, or null if none |
tgnewtable |
name |
REFERENCING clause name for NEW TABLE, or null if none |
标记“隐式列”的字段不包含在 SELECT * 中;部分早期统计视图由同版本源码补全,额外来源会显示在字段说明中。
通用系统列 6
PostgreSQL 提供的系统属性,通常不在 SELECT * 中展开。单独保留,不与普通字段混算。
| 字段 | 类型 | attnum |
|---|---|---|
tableoid | oid | -6 |
cmax | cid | -5 |
xmax | xid | -4 |
cmin | cid | -3 |
xmin | xid | -2 |
ctid | tid | -1 |
字段演化矩阵
悬停查看字段类型存在新增 / 类型或属性变化移除
9.0 是收录基线;基线中已存在的字段不标记为新增。矩阵按字段名称对齐,重命名显示为旧字段移除与新字段新增。
演化时间线
相邻大版本的变化PostgreSQL 13 ← 12
PostgreSQL 12 ← 11
PostgreSQL 10 ← 9.6
PostgreSQL 9.5 ← 9.4
PostgreSQL 9.4 ← 9.3
PostgreSQL 9.3 ← 9.2
PostgreSQL 9.1 ← 9.0
比较任意两个版本
选择两个版本,查看字段的新增、移除与类型变化。交互比较需要 JavaScript;演化时间线可直接阅读。