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

时间:2018-09-27 18:52:53

标签: 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();

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

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

create trigger "abc.trg_name" before delete or update on col1 ON DEF.Tab1
FOR EACH ROW EXECUTE PROCEDURE abc.proc1();

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

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

1 个答案:

答案 0 :(得分:4)

否。

doc

  

名称不能为模式限定的-触发器继承模式