pg_trigger系统表存储触发器信息。
名称 | 类型 | 引用 | 描述 |
oid | oid | 行标识符(隐藏属性,必须被显式选择才会显示) | |
tgrelid | oid | pg_class.oid | 触发器所在的表 |
tgname | name | 触发器名(在同一个表的触发器中必须唯一) | |
tgfoid | oid | pg_proc.oid | 要被触发器调用的函数 |
tgtype | int2 | 触发器触发条件的位掩码 | |
tgenabled | char | 控制触发器在session_replication_role模式中的触发。 O = 触发器在“origin”和“local”模式触发, D = 触发器被禁用, R = 触发器在“replica”模式触发, A = 触发器总是触发。 | |
tgisinternal | bool | 为真表示触发器是内部生成的(通常是为了强制由tgconstraint指定的约束) | |
tgconstrrelid | oid | pg_class.oid | 被一个引用完整性约束引用的表 |
tgconstrindid | oid | pg_class.oid | 支持一个唯一、主键、引用完整性约束或者排除约束的索引 |
tgconstraint | oid | pg_constraint.oid | 可能存在的与触发器相关的pg_constraint项 |
tgdeferrable | bool | 如果约束触发器可推迟则为真 | |
tginitdeferred | bool | 如果约束触发器初始可推迟则为真 | |
tgnargs | int2 | 传递给触发器函数的参数字符串个数 | |
tgattr | int2vector | pg_attribute.attnum | 如果触发器是列限定的,这里存放列号;否则这是一个空数组 |
tgargs | bytea | 传递给触发器的参数字符串,每一个都以NULL结尾 | |
tgqual | pg_node_tree | 触发器WHEN条件的表达式树(以nodeToString()的表现形式),如果没有则为空 | |
tgoldtable | name | OLD TABLE的REFERENCING列名称, 或者没有时为null | |
tgnewtable | name | NEW TABLE的REFERENCING列名称, 或者没有时为null |