如何在PostgreSQL 9中禁用触发器?

时间:2011-10-18 10:08:56

标签: postgresql triggers

在PostgreSQl 8.x中禁用触发器我做了类似的事情:

ALTER TABLE table DISABLE TRIGGER ALL;

当我在PostgreSQL 9中执行此操作时,我得到以下内容:

my_database=> ALTER TABLE my_table DISABLE TRIGGER ALL;
ERROR:  permission denied: "RI_ConstraintTrigger_25366" is a system trigger

PS:此表由运行此命令的用户创建。

有关此的任何线索吗?

1 个答案:

答案 0 :(得分:13)

会自动添加一些触发器以强制执行约束,除非您是超级用户,否则无法禁用这些触发器。如果您只想禁用已添加的常规触发器,请执行以下操作:

ALTER TABLE table DISABLE TRIGGER USER;