Closed1
PostgreSQLのユーザーを棚卸しする

Aurora PostgreSQLで検証。
ユーザーと属しているグループを出力する。ただし、システムユーザーは除外する(ログイン可能なユーザーのみ)。
SELECT a.rolname AS role_name,
a.rolsuper,
a.rolcreatedb,
a.rolcreaterole,
a.rolreplication,
ARRAY(SELECT b.rolname
FROM pg_auth_members m
JOIN pg_roles b ON (m.roleid = b.oid)
WHERE m.member = a.oid) AS member_of
FROM pg_roles a
WHERE a.rolcanlogin = true
ORDER BY role_name;
出力サンプル。
role_name | rolsuper | rolcreatedb | rolcreaterole | rolreplication | member_of
--------------------+----------+-------------+---------------+----------------+--------------------------------------------------
xxx_user | f | f | f | f | {rds_superuser}
rdsadmin | t | t | t | t | {}
...
このスクラップは3日前にクローズされました