ロール
ロールとは、ユーザまたはグループの事
- 既存ロールの確認
[psql]# \du
- ロールの新規作成
adminユーザの新規作成ならば、
[psql]# CREATE ROLE admin WITH SUPERUSER LOGIN PASSWORD 'password'
SUPERUSER | NOSUPERUSER
CREATEDB | NOCREATEDB
CREATEROLE | NOCREATEROLE
CREATEUSER | NOCREATEUSER
INHERIT | NOINHERIT
LOGIN | NOLOGIN
などの種類を同時に付与できる
- 権限
スーパーユーザと所有者(オブジェクトを作成したユーザ)は、
デフォルトで全ての権限を持っている。
SELECT、CREATE、ALLなど
- 権限の追加
GRANT 権限 ON 対象(テーブル名またはスキーマ名) TO ロールまたはpublic
- 権限の付与
[psql]# \z
testrole=arwd/postgres
と表示された場合、postgresがtestroleに権限付与した、という意味
- 権限の削除
権限の削除は、権限付与者またはSUPERUSERのみ可能。
REVOKE 権限 ON 対象(TB名またはDB名) FROM ロール
- ロールの変更
ALTER ROLE ロール WITH CREATEROLE CREATEDB
ロールの変更は、CREATE ROLE持ちロールまたはSUPERUSER
CREATE ROLE持ちロールは、SUPERUSER以外のロールを変更可能。
以上