我需要能够为用户分配角色,以允许他们对架构中的表执行任何操作。我需要在不分配 Postgres 中的超级用户权限的情况下执行此操作。
我已经弄清楚了如何分配细粒度的权限。我还发现我可以为用户分配拥有该表的相同角色,并且他们可以删除该表。
但是,相关用户无法更改不属于他们的表。我认为这是因为当我使用其他用户创建新表时,该新表将自动归创建者所有,而不是归分配给相关用户的管理员角色所有。
有办法解决这个问题吗?任何人都可以创建表。有没有办法分配非超级用户的特权/特殊角色,以允许相关用户修改和删除不属于他们的表?
不,没有办法解决这个问题:只有拥有角色的成员或超级用户可以
ALTER
或DROP
对象。也许您可以让要删除对象的用户成为所有其他用户的成员?