更新时间:2026-10-21 GMT+08:00
分享

PG_TRIGGER

PG_TRIGGER系统表存储触发器信息。

表1 PG_TRIGGER字段

名称

类型

描述

oid

oid

行标识符(隐含字段,必须明确选择)。

tgrelid

oid

触发器所在表的OID。

tgname

name

触发器名。

tgfoid

oid

要被触发器调用的函数。

tgtype

smallint

触发器类型。

  • 4:AFTER INSERT FOR EACH STATEMENT。
  • 5:AFTER INSERT FOR EACH ROW。
  • 6:BEFORE INSERT FOR EACH STATEMENT。
  • 7:BEFORE INSERT FOR EACH ROW。
  • 8:AFTER DELETE FOR EACH STATEMENT。
  • 9:AFTER DELETE FOR EACH ROW。
  • 10:BEFORE DELETE FOR EACH STATEMENT。
  • 11:BEFORE DELETE FOR EACH ROW。
  • 16:AFTER UPDATE FOR EACH STATEMENT。
  • 17:AFTER UPDATE FOR EACH ROW。
  • 18:BEFORE UPDATE FOR EACH STATEMENT。
  • 19:BEFORE UPDATE FOR EACH ROW。
  • 32:AFTER TRUNCATE FOR EACH STATEMENT。
  • 34:BEFORE TRUNCATE FOR EACH STATEMENT。
  • 69:INSTEAD OF INSERT FOR EACH ROW。
  • 73:INSTEAD OF DELETE FOR EACH ROW。
  • 81:INSTEAD OF UPDATE FOR EACH ROW。

tgenabled

"char"

  • O:表示触发器在“origin”和“local”模式下触发。
  • D:表示触发器被禁用。
  • R:表示触发器在“replica”模式下触发。
  • A:表示触发器始终触发。

tgisinternal

boolean

内部触发器标识,如果为true表示内部触发器。

tgconstrrelid

oid

完整性约束引用的表。

tgconstrindid

oid

完整性约束的索引。

tgconstraint

oid

约束触发器在PG_CONSTRAINT中的OID。

tgdeferrable

boolean

约束触发器是否为DEFERRABLE类型。

  • t(true):表示是。
  • f(false):表示不是。

tginitdeferred

boolean

约束触发器是否为INITIALLY DEFERRED类型。

  • t(true):表示是。
  • f(false):表示不是。

tgnargs

smallint

触发器函数入参个数。

tgattr

int2vector

当触发器指定列时的列号,未指定则为空数组。

tgargs

bytea

传递给触发器的参数。

tgqual

pg_node_tree

表示触发器的WHEN条件,如果没有则为null。

tgowner

oid

触发器所有者。

相关文档