- Home ›
- PostgreSQLの使い方 ›
- ロール(ユーザー)の作成 ›
- HERE
ロールの作成
広告
では、実際にロールを作成してみます。作成するには「GRANT ROLE」を使います。構文としては下記のようになります。
CREATE ROLE name [ [ WITH ] option [ ... ] ] ここでoptionは以下の通りです。 SUPERUSER | NOSUPERUSER | CREATEDB | NOCREATEDB | CREATEROLE | NOCREATEROLE | CREATEUSER | NOCREATEUSER | INHERIT | NOINHERIT | LOGIN | NOLOGIN | CONNECTION LIMIT connlimit | [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'password' | VALID UNTIL 'timestamp' | IN ROLE rolename [, ...] | IN GROUP rolename [, ...] | ROLE rolename [, ...] | ADMIN rolename [, ...] | USER rolename [, ...] | SYSID uid
簡単に書くと下記のようになります。
CREATE ROLE role_name WITH LOGIN CREATE ROLE role_name WITH LOGIN PASSWORD 'password'
上記はログイン可能なロールを作成した場合です。デフォルトでは「NOLOGIN」なのでログイン可能にする場合は「LOGIN」を指定して下さい。パスワード認証を行う場合は下の構文のように「PASSWORD」句の後にパスワードを指定して下さい。
上記以外のオプションとしては下記のようなものがあります。
「SUPERUSER」を指定すると、そのロールはスーパーユーザーとなります。デフォルトでは「NOSUPERUSER」です。
「CREATEDB」を指定すると、そのロールはデータベースの作成が可能となります。デフォルトでは「NOCREATEDB」です。
「CREATEROLE」を指定すると、そのロールは新しいロールの作成が可能となります。デフォルトでは「NOCREATEROLE」です。
例として「データベースの作成」が可能なロールの作成は下記のようになります。
create role testrole with createdb password='testrole';
その他にも色々オプションがありますけど、必要に応じて確認していきます。
( Written by Tatsuo Ikura )