在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:此表由运行此命令的用户创建。
有关此的任何线索吗?
答案 0 :(得分:13)
会自动添加一些触发器以强制执行约束,除非您是超级用户,否则无法禁用这些触发器。如果您只想禁用已添加的常规触发器,请执行以下操作:
ALTER TABLE table DISABLE TRIGGER USER;