码迷,mamicode.com
首页 > 其他好文 > 详细

解决禁用外键约束时system trigger无法禁用的问题

时间:2021-03-15 11:31:51      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:tab   添加   sys   表之间   思考   denied   ima   psql   约束   

在练习给数据库中添加数据时,遇到有外键约束的表,由于表之间数据的依赖关系和数据的导入顺序会导致数据加载失败。
如下图:
技术图片

我的数据和表格都没有问题,只是载入时违反了外键约束,第一想法就是先禁用外键约束:

alter table hr.departments disable trigger all;

结果发现有如下报错:

ERROR:  permission denied: "RI_ConstraintTrigger_a_17918" is a system trigger

技术图片

网上搜了一下,没有找到一个直接的方法。不过经过我一番思考,发现了一个最最便捷的解决方案:将用户更改为超级用户
先输入\q退回到postgres用户;然后输入psql进入数据库
查看所有用户:

SELECT username FROM pg_user;

查看现有用户权限:

postgres=# \du

为用户添加超级用户权限:

alter user gisc with superuser;

如图:
技术图片

然后,一切问题就迎刃而解了!
技术图片
技术图片

解决禁用外键约束时system trigger无法禁用的问题

标签:tab   添加   sys   表之间   思考   denied   ima   psql   约束   

原文地址:https://www.cnblogs.com/yonniye/p/14530661.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!