PostgreSQL 8.1以降は、ユーザーとグループでなく、ロールでアクセス管理を行うようになっています。
ロールはユーザーとグループを併せ持ったようなものになります。 グループとユーザーのように分けると複雑になるので、グループ無しユーザーに相当するロールを作って管理するのが簡単です。
ロール確認
pgsqlでは、”\du”コマンドでロールの権限を確認することができます。 duコマンド以外ではシステムカタログを使う方法があります。
\du
言語設定が日本語になっている場合、以下のように表示されます。
postgres=# \du ロール一覧 ロール名 | 属性 | メンバー ----------+----------------------------------------------------------------------------------+--------- - postgres | スーパーユーザ, ロールを作成できる, DBを作成できる, レプリケーション, Bypass RLS | {} testdb | | {}
pg_user
データベースユーザーの情報を確認するには、ビューのpg_userが使えます。 pg_userは、パスワードを隠したpg_shadowと同じになります。
postgres=# select * from pg_user; usename | usesysid | usecreatedb | usesuper | userepl | usebypassrls | passwd | valuntil | useconfig ----------+----------+-------------+----------+---------+--------------+----------+----------+----------- postgres | 10 | t | t | t | t | ******** | | testdb | 16679 | f | f | f | f | ******** | | (2 行)PostgreSQL ドキュメント・pg_user
pg_shadow
ビューのpg_shadowは、パスワードを隠さないpg_userになります。
postgres=# select * from pg_shadow; usename | usesysid | usecreatedb | usesuper | userepl | usebypassrls | passwd | valuntil | useco nfig ----------+----------+-------------+----------+---------+--------------+-------------------------------------+----------+------ ----- postgres | 10 | t | t | t | t | md53175bce1d3201d16594cebf9d7eb3f9d | | testdb | 16679 | f | f | f | f | | | (2 行)PostgreSQL ドキュメント・pg_shadow