我有两个数据库db1,db2.db2有外部表,比如tableA,它的模式是从db1导入的。每次行更新都会在db1中的表A上运行一个触发器。现在使用postgres_fdw,我可以从db2中获取记录,但由于该触发器函数,我无法更新tableA上的任何记录。如果我禁用触发器,更新工作正常。我需要审计日志的触发器。
请给我一个合适的建议来解决这个问题。我使用的是postgres 9.6。
确保建立链接的用户可以访问审核表。
您还可以将所需的模式添加到触发函数搜索路径:
CREATE OR REPLACE FUNCTION abc.mytrigger() RETURNS trigger AS
$BODY$BEGIN
[...] -- do something in the xyz schema
RETURN NEW;
END;$BODY$
LANGUAGE plpgsql
SET search_path = xyz;