今回はPostgreSQLのロール(ユーザ)の作成方法です。
コマンド
CREATE ROLE name [ [ WITH ] option [ ... ] ]
option:
SUPERUSER | NOSUPERUSER
| CREATEDB | NOCREATEDB
| CREATEROLE | NOCREATEROLE
| INHERIT | NOINHERIT
| LOGIN | NOLOGIN
| REPLICATION | NOREPLICATION
| BYPASSRLS | NOBYPASSRLS
| CONNECTION LIMIT connlimit
| [ ENCRYPTED ] PASSWORD 'password'
| VALID UNTIL 'timestamp'
| IN ROLE role_name [, ...]
| IN GROUP role_name [, ...]
| ROLE role_name [, ...]
| ADMIN role_name [, ...]
| USER role_name [, ...]
| SYSID uid
ユーザ作成
SQL
オプションありなしを比較するために下記2種類のコマンドでユーザを作成してみます。
CREATE ROLE test_user;
CREATE ROLE test_user2 WITH LOGIN PASSWORD 'test_password';
\duを実行するとロール一覧が確認できます。

pgAdmin
見やすいようにpgAdminで作成したユーザを確認してみます。
test_userはGroup Roleとなっています。
test_user2はLogin Roleとなっています。

ログイン確認
コマンドラインから作成したユーザでログイン可能か見てみます。
test_userはLogin Roleでないため、ログインできません。
test_user2は正しいパスワードを入力すればログイン可能です。
