我有数百个跨多个架构的DML触发器。它们中的大多数会修改多个表的DML。
使用information_schema.triggers和pg_trigger表,我能够单独找到触发器列表和触发器事件表。
是否可以获取由每个触发器修改的表的列表(触发目标表)?
我有数百个跨多个架构的DML触发器。它们中的大多数会修改多个表的DML。
使用information_schema.triggers和pg_trigger表,我能够单独找到触发器列表和触发器事件表。
是否可以获取由每个触发器修改的表的列表(触发目标表)?
否,因为触发器动作是一个函数,并且函数以纯字符串形式存储在prosrc
系统目录表的pg_proc
列中。
您可以在该列中对表名执行不区分大小写的搜索,但是您会遇到误报(如果使用动态SQL,也会出现误报)。