PostgreSQL角色能否拥有自身ADMIN选项?非超级用户实现方式咨询
PostgreSQL角色权限相关问题解答
问题1:PostgreSQL角色能否拥有针对自身的ADMIN选项?
不行。PostgreSQL中,角色无法为自身设置针对自身的ADMIN选项。ADMIN选项的作用是赋予角色将目标角色授予其他主体的权限,而一个角色本身不能对自己配置这个权限。
问题2:非超级用户角色若要拥有针对自身的ADMIN选项,只能通过第二个角色实现?例如执行语句:CREATE ROLE new_role WITH ADMIN admin_of_new_role; 此时admin_of_new_role继承new_role的所有权限且可授予该角色,但是否无法让new_role自身拥有将该角色授予其他角色的权限?
- 你的理解是正确的:非超级用户角色无法直接获得针对自身的ADMIN权限,必须借助第二个角色来实现。
- 对于你举的例子:执行
CREATE ROLE new_role WITH ADMIN admin_of_new_role;后,admin_of_new_role确实拥有将new_role授予其他角色的权限,但new_role自身并没有把自己授予给其他角色的权限。如果要让new_role具备这个能力,需要由拥有对应权限的角色(比如admin_of_new_role或者超级用户)执行语句:GRANT new_role TO new_role WITH ADMIN OPTION;,完成这一步后,new_role才能将自身授予其他角色。
内容的提问来源于stack exchange,提问作者Paku
相关产品推荐
相关产品推荐

