2017-01-31 3 views
0

私はユーザーとそのユーザーが持つすべての役割を示すクエリを作成しようとしています。私はすでに特定のユーザーの役割について質問する方法を知っています:各ユーザーの役割に関するPostgresのクエリ

SELECT oid, rolname FROM pg_roles WHERE 
pg_has_role('name_of_user', oid, 'member'); 

どうすればいいですか? psqlでのメタコマンドの後ろに文を参照するには

+0

がhttp://dba.stackexchange.com/questions/56096/how-to-get-all-roles-that-a-を追加56104#56104あなたの質問にあなたの質問のソースとしてあなたの質問にしてください –

答えて

0

実行psql -E

vao=# \du 
********* QUERY ********** 
SELECT r.rolname, r.rolsuper, r.rolinherit, 
    r.rolcreaterole, r.rolcreatedb, r.rolcanlogin, 
    r.rolconnlimit, r.rolvaliduntil, 
    ARRAY(SELECT b.rolname 
     FROM pg_catalog.pg_auth_members m 
     JOIN pg_catalog.pg_roles b ON (m.roleid = b.oid) 
     WHERE m.member = r.oid) as memberof 
, r.rolreplication 
, r.rolbypassrls 
FROM pg_catalog.pg_roles r 
ORDER BY 1; 
************************** 

            List of roles 
Role name |       Attributes       | Member of 
-----------+------------------------------------------------------------+----------- 
ro  | Cannot login            | {} 
rw  | Cannot login            | {} 
vao  | Superuser, Create role, Create DB, Replication, Bypass RLS | {ro,rw} 
関連する問題