postgresql查询显示用户的组

时间:2010-08-24 07:55:45

标签: sql postgresql

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

create role user_1 login inherit in role group_1;

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

3 个答案:

答案 0 :(得分:44)

只是提供一个副本和可接受的解决方案 - 在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';

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

答案 1 :(得分:13)

从psql命令行:

\dg

\du

答案 2 :(得分:10)

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