- 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 )

 
				 DBOnline
DBOnline