【问题标题】:PostgreSQL drop role with default privileges具有默认权限的 PostgreSQL 删除角色
【发布时间】:2019-06-02 05:15:08
【问题描述】:

我正试图放弃一个角色,并切断了我能找到的所有与它的联系,但有一个挥之不去的问题我无法解决。当我运行这个时:

drop role hank

它告诉我:

ERROR:  role "hank" cannot be dropped because some objects depend on it
DETAIL:  privileges for default privileges on new functions belonging to role brandon in schema alteryx
privileges for default privileges on new relations belonging to role brandon in schema alteryx

此 DDL 存在于架构中:

ALTER DEFAULT PRIVILEGES IN SCHEMA alteryx
GRANT INSERT, SELECT, UPDATE, DELETE, TRUNCATE, REFERENCES, TRIGGER ON TABLES
TO hank;

ALTER DEFAULT PRIVILEGES IN SCHEMA alteryx
GRANT EXECUTE ON FUNCTIONS TO hank;

当我对它们执行revoke时,命令成功,但权限保持不变。

我已经搜索了 DDL,但如果不尝试 drop-cascade,我无法找到解决此问题的方法。

欢迎任何指导。

【问题讨论】:

    标签: postgresql roles ddl database-permissions


    【解决方案1】:

    您必须运行以下两条语句才能摆脱阻止您的默认权限:

    ALTER DEFAULT PRIVILEGES FOR ROLE brandon IN SCHEMA alteryx
       REVOKE ALL ON TABLES FROM hank;
    ALTER DEFAULT PRIVILEGES FOR ROLE brandon IN SCHEMA alteryx
       REVOKE ALL ON FUNCTIONS FROM hank;
    

    【讨论】:

      猜你喜欢
      • 2012-04-08
      • 1970-01-01
      • 2014-02-26
      • 2022-12-03
      • 1970-01-01
      • 2018-06-08
      • 1970-01-01
      • 2013-07-25
      • 2018-03-21
      相关资源
      最近更新 更多