【问题标题】:Postgresql: SQLSTATE[42501]: Insufficient privilege: 7 ERROR when triggeringPostgresql: SQLSTATE[42501]: Insufficient privilege: 7 ERROR when triggering
【发布时间】:2017-12-24 17:04:16
【问题描述】:

我在 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: 还是一样,没有任何效果。

【问题讨论】:

    标签: postgresql yii2


    【解决方案1】:

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

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

    【讨论】:

    • 我试过这个,但还是一样...没有结果。最有趣的是这是一个活生生的项目,我在夏天没有遇到任何问题,但是现在......它只是抛出了这些错误。数据库的所有者(用户)和超级用户无所谓,还是有这个问题。
    • 用 postgres 用户试过了吗?
    • 是的。外键似乎有问题,或者我不明白为什么它在 Postgresql 中如此特别
    • @uglypointer 仅供参考,您参考的博文已移至此处:endpointdev.com/blog/2012/10/postgres-system-triggers-error
    猜你喜欢
    • 1970-01-01
    • 2019-07-08
    • 1970-01-01
    • 2013-03-12
    • 2019-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多