我有两个数据库db1和db2。db2具有外部表,例如tableA,其架构已从db1导入。每次行更新时,触发器都在db1中的tableA上运行。 现在使用postgres_fdw,我可以从db2中获取记录,但是由于该触发器功能而无法更新tableA上的任何记录。在禁用触发器的情况下,更新可以正常进行。我需要该触发器作为审核日志。
请为我提供解决此问题的合适建议。我使用的是Postgres 9.6。
答案 0 :(得分:0)
确保建立链接的用户可以访问审核表。
您还可以将所需的架构添加到触发函数搜索路径:
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;