はじめに
PostgreSQLでロールを作成したのでメモしておきます
ロールとは
下記記事の言葉を借りさせてさせていただくとPostgreSQLのロールとは一般的にユーザーと呼ばれるものとグループと呼ばれるものの二つの性質を兼ね備えたものとあります。
##ロールの作成
まずpostgreにログインします。
$ psql -U postgres
新しいロールを作成するにはCREATE ROLE
コマンドを使います。
例えばロール名taroでパスワードを11111111で設定したい場合以下のように入力します。
postgres=# CREATE ROLE taro WITH PASSWORD '11111111';
CREATE ROLE
と表示されれば成功です。
SELECT ROLNAME FROM pg_roles;
でちゃんと表示されているか確認してみましょう
postgres=# SELECT ROLNAME FROM pg_roles;
rolname
ーーーーーーーー
postgres
taro
(2 行)
ログイン権限の付与
そしてロールを作成した後はデータベースに接続できるように、ログイン権限を持たせておきましょう。
ALTER ROLE
コマンドを使って以下のように記述します。
postgres=# ALTER ROLE taro LOGIN;
ALTER ROLE
##データベースの作成権限を付与
postgres=# ALTER ROLE taro WITH CREATEDB;
オプション
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
多すぎるのであまり覚える必要はないと思います。
筆者が使ったのはCREATEDB
、CREATEROLE
、LOGIN
ぐらいです
##参考