Postgresql:如何授予设置角色的权限?
Postgresql: How to grant permission for set role?
有用户'test_user1'。设置角色命令:
SET ROLE test_user1
returns 错误:
ERROR: permission denied to set role "test_user2"
我找不到如何授予 SET ROLE 权限。
提前致谢。
错误信息
ERROR: permission denied to set role "test_user2"
暗示命令是
test_user1> SET ROLE test_user2;
,但不是你写的 SET ROLE test_user1
。
如果您尝试为用户 test_user1 设置角色 test_user2,请授予它:
test_user2> grant test_user2 to test_user1;
补充 Egor 的回答,在 PostgreSQL 中,角色可以继承或不继承(角色上的 INHERIT
或 NOINHERIT
选项)。
如果它是继承的,那么GRANT
意味着您正在授予被授予角色对被授予角色的所有访问权限。
如果不是继承,则GRANT
允许使用SET ROLE
切换到那个角色。换句话说,GRANT
授予对其他角色的访问权限,而 INHERIT
确定该访问权限是否需要 SET ROLE
命令才能工作。
有用户'test_user1'。设置角色命令:
SET ROLE test_user1
returns 错误:
ERROR: permission denied to set role "test_user2"
我找不到如何授予 SET ROLE 权限。
提前致谢。
错误信息
ERROR: permission denied to set role "test_user2"
暗示命令是
test_user1> SET ROLE test_user2;
,但不是你写的 SET ROLE test_user1
。
如果您尝试为用户 test_user1 设置角色 test_user2,请授予它:
test_user2> grant test_user2 to test_user1;
补充 Egor 的回答,在 PostgreSQL 中,角色可以继承或不继承(角色上的 INHERIT
或 NOINHERIT
选项)。
如果它是继承的,那么GRANT
意味着您正在授予被授予角色对被授予角色的所有访问权限。
如果不是继承,则GRANT
允许使用SET ROLE
切换到那个角色。换句话说,GRANT
授予对其他角色的访问权限,而 INHERIT
确定该访问权限是否需要 SET ROLE
命令才能工作。