Joc*_*rze 9 postgresql role pgadmin
有没有办法可视化哪些用户是 PostgreSQL / pgAdminIII 中某个角色的成员,例如
role: council_stuff
members:
Harry
Ben
Steve
Melinda
Run Code Online (Sandbox Code Playgroud)
Dan*_*ité 18
获取所有角色的所有成员:
SELECT r.rolname as username,r1.rolname as "role"
FROM pg_catalog.pg_roles r JOIN pg_catalog.pg_auth_members m
ON (m.member = r.oid)
JOIN pg_roles r1 ON (m.roleid=r1.oid)
WHERE r.rolcanlogin
ORDER BY 1;
Run Code Online (Sandbox Code Playgroud)
添加r1.rolname='council_stuff'
以仅过滤那个。
请注意,用户本身是 postgresql 用语中的“角色”(旧版本中曾经有“用户和组”,但现在已统一为角色)。
这里区分了用户和具有rolcanlogin
布尔列的角色,这对应于用户是具有 LOGIN 权限的角色的解释。
这两个JOIN
可以变成LEFT JOIN
添加不属于任何角色的用户:
SELECT r.rolname as username,r1.rolname as "role"
FROM pg_catalog.pg_roles r LEFT JOIN pg_catalog.pg_auth_members m
ON (m.member = r.oid)
LEFT JOIN pg_roles r1 ON (m.roleid=r1.oid)
WHERE r.rolcanlogin
ORDER BY 1;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
9629 次 |
最近记录: |