# 52.56.pg_trigger
目录pg_trigger
在表和视图上存储触发器。看创建触发器了解更多信息。
表 52.56.pg_trigger
列
列类型 描述 |
---|
样的 样的 行标识符 |
tgrelid 样的 (参考pg_class .样的 )此触发器所在的表 |
tgparentid 样的 (参考pg_trigger .样的 )从中克隆此触发器的父触发器(在创建分区或将其附加到分区表时发生);如果不是克隆则为零 |
名称 姓名 触发器名称(在同一个表的触发器中必须是唯一的) |
tgfoid 样的 (参考pg_proc .样的 )要调用的函数 |
类型 整数2 识别触发器触发条件的位掩码 |
启用 tg 字符 控制其中会议_复制_角色模式触发器触发。 ○ = 在“原点”和“本地”模式下触发触发,D = 触发器被禁用,R = 在“副本”模式下触发触发,一种 = 触发器总是触发。 |
tgisinternal 布尔 如果触发器是内部生成的,则为真(通常,强制执行由 tg约束 ) |
tgconstrrelid 样的 (参考pg_class .样的 )引用完整性约束引用的表(如果触发器不是用于引用完整性约束,则为零) |
tgconstrindid 样的 (参考pg_class .样的 )支持唯一、主键、引用完整性或排除约束的索引(如果触发器不是这些类型的约束之一,则为零) |
tg约束 样的 (参考pg_constraint .样的 )这 pg_constraint 与触发器关联的条目(如果触发器不是用于约束,则为零) |
tgdeferable 布尔 如果约束触发器是可延迟的,则为真 |
tginitdeferred 布尔 如果最初延迟约束触发器,则为真 |
tgnargs 整数2 传递给触发函数的参数字符串数 |
tgattr int2vector (参考pg_attribute .attnum )列号,如果触发器是特定于列的;否则为空数组 |
tgargs 拜茶 要传递给触发器的参数字符串,每个以 NULL 结尾 |
tgqual pg_node_tree 表达式树(在 节点字符串() 表示)用于触发器的什么时候 条件,如果没有,则为 null |
tgoldtable 姓名 参考 子句名称旧表 , 如果没有,则为 null |
tgnewtable 姓名 参考 子句名称新表 , 如果没有,则为 null |
目前,仅支持特定于列的触发更新
事件等等tgattr
仅与该事件类型相关。类型
也可能包含其他事件类型的位,但无论在tgattr
.
# 笔记
什么时候tg约束
非零,tgconstrrelid
,tgconstrindid
,tgdeferable
, 和tginitdeferred
与所引用的相比在很大程度上是多余的pg_constraint
入口。然而,一个不可延迟的触发器可能与一个可延迟的约束相关联:外键约束可以有一些可延迟的触发器和一些不可延迟的触发器。
# 笔记
pg_class.relhastriggers
如果关系在此目录中有任何触发器,则必须为真。