PostgreSQL でユーザ一覧とロール一覧は以下のコマンドで表示させます。
方法
ユーザ一覧
pg_user 参照
pg_user を参照する事でユーザ一覧を確認できます。
select usename from pg_user;
psql のメタコマンド
psql のメタコマンドでもユーザ一覧が出力できます。
\du
ロール一覧
pg_roles 参照
システムカタログ pg_roles から取得します。
PostgreSQL のシステムカタログの一つである pg_roles からロールの一覧を取得する方法です。 pg_roles には以下のようなカラムがあります。
| 名前 | 型 | 説明 |
| rolname | name | ロール名 |
| rolsuper | bool | スーパーユーザの権限の有無 |
| rolinherit | bool | メンバであるロールの権限を継承するかどうか |
| rolcreaterole | bool | ロールの作成権限の有無 |
| rolcreatedb | bool | データベースの作成権限の有無 |
| rolcanlogin | bool | ログインを行えるロールかどうか |
| rolreplication | bool | レプリケーション用のロールかどうか |
| rolconnlimit | int4 | 同時接続の最大数(-1は無制限) |
| rolpassword | text | パスワード(ただし ******** とのみ表示) |
| rolvaliduntil | timestamptz | パスワードの有効期限(有効期限がない場合はNULL) |
| rolbypassrls | bool | すべての行単位セキュリティポリシーを無視するかどうか |
| rolconfig | text | 実行時設定変数に関するロール固有のデフォルト |
| oid | oid | ロールのID |
pg_roles から rolname と rolsuper と rolcanlogin の値を取得するクエリは以下のとおりです。
select rolname, rolsuper, rolcanlogin from pg_roles;