Postgresql Postgres替代\du查看组角色成员资格

Postgresql Postgres替代\du查看组角色成员资格,postgresql,psql,roles,Postgresql,Psql,Roles,除了使用内置Postgres函数或视图使用psql\du检索列的成员外,还有其他方法吗?谢谢。在psql中,您可以回显反斜杠命令生成的实际查询。使用例如: 在psql中,您可以回显反斜杠命令生成的实际查询。使用例如: 我想出来了,下面是我的答案: SELECT pg_roles.rolname, pg_auth_members.member, (SELECT pg_roles.rolname FROM pg_roles WHERE oid = pg_auth_members.memb

除了使用内置Postgres函数或视图使用
psql\du
检索列的
成员外,还有其他方法吗?谢谢。

psql中,您可以回显反斜杠命令生成的实际查询。使用例如:


在psql中,您可以回显反斜杠命令生成的实际查询。使用例如:


我想出来了,下面是我的答案:

SELECT
  pg_roles.rolname,
  pg_auth_members.member,
  (SELECT pg_roles.rolname FROM pg_roles WHERE oid = pg_auth_members.member)
FROM
  pg_roles, pg_auth_members
WHERE
  pg_auth_members.roleid = ( SELECT oid FROM pg_roles WHERE rolname = 'my_group') and pg_roles.rolname = 'my_group';
因此,此查询将返回如下内容:

   rolname  | member | rolname 
------------+--------+---------
   my_group |  18068 | first_member
   my_group |  18069 | second_member
(2 rows)

我想出来了,下面是我的答案:

SELECT
  pg_roles.rolname,
  pg_auth_members.member,
  (SELECT pg_roles.rolname FROM pg_roles WHERE oid = pg_auth_members.member)
FROM
  pg_roles, pg_auth_members
WHERE
  pg_auth_members.roleid = ( SELECT oid FROM pg_roles WHERE rolname = 'my_group') and pg_roles.rolname = 'my_group';
因此,此查询将返回如下内容:

   rolname  | member | rolname 
------------+--------+---------
   my_group |  18068 | first_member
   my_group |  18069 | second_member
(2 rows)