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;