postgres>在另一个架构中创建触发器

TaB*_*TaB 1 postgresql

我正在使用postgres 9.5,并且以postgres用户身份登录数据库xyz。现在,我需要在架构abc中创建触发器。触发器将是在表def中的表Tab1上的删除或更新之前。

psql -d xyz

xyz=#create trigger abc.trg_name before delete or update on col1 ON DEF.Tab1
FOR EACH ROW EXECUTE PROCEDURE abc.proc1();
Run Code Online (Sandbox Code Playgroud)

但是,我无法这样做。我在“”附近收到语法错误。

当我尝试使用双引号时,将创建TRIGGER,但未在abc模式中创建-在DEF模式(基础表的模式)中:

psql -d xyz

xyz=#create trigger abc.trg_name before delete or update on col1 ON DEF.Tab1
FOR EACH ROW EXECUTE PROCEDURE abc.proc1();
Run Code Online (Sandbox Code Playgroud)

Postgres中有一种方法可以在与其底层引用表不同的架构中创建触发器?

我尝试将SEARCH_PATH设置为abc,但仍在DEF模式下创建它。感谢您提前答复!

JGH*_*JGH 5

没有。

文档

该名称不能为架构限定的-触发器继承其表的架构。