2023-05-28
如何查询用户拥有哪些权限,被授予了哪些角色?
PG_AUTHID只能看到系统权限,如果是自定义角色,该怎么看呢?
还有,如果授予了其它schema或其它用户下的表的权限,该怎么查询呢?
我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
回答交流
Markdown
请输入正文
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~

PG_AUTHID只能看到系统权限,如果是自定义角色,该怎么看呢?
还有,如果授予了其它schema或其它用户下的表的权限,该怎么查询呢?
在OpenGauss中,PG_AUTHID只能查看系统权限,不能直接查看自定义角色的权限。要查看自定义角色的权限,可以通过查询PG_ROLE和PG_AUTHID系统表来获取。以下是一个示例查询:
SELECT rolname, rolsuper, rolcreaterole, rolcreatedb, rolinherit, rolcanlogin FROM pg_roles WHERE rolname = 'your_role_name';
复制
要查询授予了其他模式或其他用户下表的权限,可以使用以下查询:
-- 查询授予给用户的权限 SELECT grantee, privilege_type, table_schema, table_name FROM information_schema.role_table_grants WHERE grantee = 'your_user_name'; -- 查询授予给角色的权限 SELECT grantee, privilege_type, table_schema, table_name FROM information_schema.role_table_grants WHERE grantee = 'your_role_name';
复制
请将"your_role_name"和"your_user_name"替换为实际的角色名和用户名。