Postgresql:SQLSTATE [42501]:权限不足:触发时出现7 ERROR

时间:2017-12-24 17:04:16

标签: postgresql yii2

我在Vagrant环境中使用Postgresql 9.5:带有最新更新的Ubuntu 16.04服务器。我使用Yii2应用程序。当然我知道这个问题存在未解决的问题,所以也许这与Yii2有关。

我收到以下错误:

[yii\db\Exception] SQLSTATE[42501]: Insufficient privilege: 7 ERROR:  permission denied: "RI_ConstraintTrigger_c_16773" is a system trigger
The SQL being executed was: ALTER TABLE "public"."address" DISABLE TRIGGER ALL; ALTER TABLE "public"."category" DISABLE TRIGGER ALL; ALTER TABLE "public"."customer" DISABLE TRIGGER ALL;

当我想运行Codeception测试时会发生此错误。但我没有看到任何配置问题。 (因为当我以普通用户身份使用应用程序时,数据库操作正常。)

我试过这个solution。但它不起作用,或this one:但同样,没有任何影响。

1 个答案:

答案 0 :(得分:0)

只有具有超级用户权限的角色才能更改PostgreSQL中的外键触发器,因为它可以篡改数据完整性。使用具有超级用户权限的数据库用户可以解决您的问题。

参考:https://www.endpoint.com/blog/2012/10/25/postgres-system-triggers-error