postgresql查询显示用户的组

Phi*_*day 18 sql postgresql

如果我在组中创建用户,例如:

create role user_1 login inherit in role group_1;
Run Code Online (Sandbox Code Playgroud)

以后,我可以使用哪个查询检索用户所属的组?

alf*_*onx 48

只是提供一个复制和可管理的解决方案 - 在PostgreSQL(测试8.4和9.3)上你可以做到:

select rolname from pg_user
join pg_auth_members on (pg_user.usesysid=pg_auth_members.member)
join pg_roles on (pg_roles.oid=pg_auth_members.roleid)
where
pg_user.usename='USERNAME';
Run Code Online (Sandbox Code Playgroud)

其中USERNAME是您感兴趣的登录角色的名称.

  • 仅显示直接但未继承的角色 (4认同)

Fra*_*ens 10

检查pg_roles,pg_authid和pg_auth_members以获取有关角色的详细信息.