pg_trigger #目录pg_trigger存储表和视图上的触发器。详见CREATE TRIGGER。
Table 52.58. pg_trigger 列
|
列类型 描述 |
|---|
|
行标识符 |
|
触发器所在的表 |
|
该触发器克隆自的父触发器(这种情况发生在创建分区或将其附加到分区表时);如果不是克隆,则为零 |
|
触发器名(在同一个表的触发器中必须唯一) |
|
要被触发器调用的函数 |
|
标识触发器触发条件的位掩码 |
|
控制触发器在session_replication_role模式中的触发。 |
|
为真表示触发器是内部生成的(通常是为了强制由 |
|
被一个引用完整性约束引用的表(如果触发器不是针对一个引用完整性约束则为零) |
|
支持一个唯一、主键、引用完整性约束或者排除约束的索引(如果触发器不是针对这些约束类型中的一个则为零) |
|
与触发器相关的 |
|
如果约束触发器可推迟则为真 |
|
如果约束触发器初始可推迟则为真 |
|
传递给触发器函数的参数字符串个数 |
|
如果触发器是列限定的,这里存放列号;否则这是一个空数组 |
|
传递给触发器的参数字符串,每一个都以NULL结尾 |
|
触发器 |
|
|
|
|
当前,列限定触发器只支持UPDATE事件,因此tgattr只用于这种事件类型。tgtype也可以包含用于其他事件类型的位,但那些事件类型对应的是表级触发器,并且会忽略tgattr。
当tgconstraint非零时,tgconstrrelid、tgconstrindid、tgdeferrable和tginitdeferred与被引用的pg_constraint 项有很大的冗余。 但是,存在将一个不可延迟触发器关联到一个可延迟约束的可能性:外键约束可以有一些可延迟和一些不可延迟触发器。
如果一个关系在本目录中拥有任何触发器,其pg_class.relhastriggers必须为真。
如果您发现文档中有不正确的内容、与您使用特定功能的经验不符或需要进一步说明,请使用此表单来报告文档问题。