【问题标题】:ERROR: role cannot be dropped because some objects depend on it错误:无法删除角色,因为某些对象依赖于它
【发布时间】:2021-05-27 17:37:42
【问题描述】:

我正在尝试放弃一个角色,但得到了这个: 错误:无法删除角色“xyz”,因为某些对象依赖于它 它显示了哪些对象,它们是服务器上不同数据库上不同模式的表。 有没有一种简单的方法可以删除角色,而不必对所有数据库上的所有表/模式逐个撤销权限?

当我在某处阅读时,我不想放弃拥有,只是放弃角色

谢谢!

【问题讨论】:

  • 见这里Drop role
  • 这有帮助,但是,我正在寻找一种方法来一次删除所有分配给角色的授权,而不是在每个表/模式上逐个删除。 “重新分配拥有”是否会从您尝试删除的角色中删除分配?

标签: postgresql roles drop


【解决方案1】:

没有简单的方法。

一些命令可以节省您的工作:REASSIGN OWNEDREVOKE ALL ON ALL ... IN SCHEMA ...。 但最终,您必须先删除所有这些依赖项,然后才能删除该角色。

不要忘记单个角色可以拥有对象/在许多数据库中拥有权限。

【讨论】:

  • 谢谢,这很有帮助。有没有办法说这样的话:REVOKE ALL PRIVILEGES ON ALL TABLES on all SCHEMA foo FROM someone
  • 不 - 我会告诉你的。
猜你喜欢
  • 2018-12-17
  • 2021-07-22
  • 2017-04-14
  • 2023-03-08
  • 2018-09-01
  • 2016-05-22
  • 2020-12-27
  • 1970-01-01
  • 2010-10-01
相关资源
最近更新 更多