#navi(../)
* PostgreSQLでユーザのロールを変更する・ALTER ROLE, ALTER USER [#la2b390d]
作成したユーザのALTER ROLEをつかってロールを変更する操作例を以下に記します。~
(ALTER USERはALTER ROLEの別名になっています。したがって、ALTER ROLEをALTER USERにしても同様の動作になります。)
使用したOSはCentOS6になります。~
また、使用したPostgreSQLのバージョンは以下の通りです。
 postgres=# select version();
                                                      version                                                      
 ------------------------------------------------------------------------------------------------------------------
  PostgreSQL 8.4.13 on x86_64-redhat-linux-gnu, compiled by GCC gcc (GCC) 4.4.6 20120305 (Red Hat 4.4.6-4), 64-bit
 (1 行)

#contents
#htmlinsertpcsp(db-top.html,db-sp.html)

* 関連記事・関連資料 [#p92ac838]
-[[PostgreSQLでテーブルに対してのアクセス権限を設定する・GRANT,REVOKE>PostgreSQL/テーブルに対してのアクセス権限を設定する・GRANT,REVOKE]]

* ユーザを作成しALTER ROLEしてみる [#y72fbaf5]
ユーザを作成して、ALTER ROLEでスーパーユーザ権限などを付与してみます。

-ユーザを追加し、ロール一覧を確認
 postgres=# create user sakura with password 'sakurapass';
 CREATE ROLE
 postgres=# create user tsubaki with password 'tsubakipass';
 CREATE ROLE
 postgres=# \du
                 ロール一覧
  ロール名 |        属性        | メンバー 
 ----------+--------------------+----------
  postgres | スーパーユーザ     | {}
           : ロールを作成できる   
           : DBを作成できる       
  sakura   |                    | {}
  tsubaki  |                    | {}

-ユーザ(ロール)sakuraにスーパーユーザ権限を付与する
ALTER ROLEを使って、sakuraにスーパーユーザ権限を付与しました。
 postgres=# ALTER ROLE sakura WITH SUPERUSER;
 ALTER ROLE
 postgres=# \du
                 ロール一覧
  ロール名 |        属性        | メンバー 
 ----------+--------------------+----------
  postgres | スーパーユーザ     | {}
           : ロールを作成できる   
           : DBを作成できる       
  sakura   | スーパーユーザ     | {}
  tsubaki  |                    | {}
 
-ユーザ(ロール)tsubakiにスーパーユーザ、ロールを作成できる、DBを作成できるを付与してみます。
 postgres=# ALTER ROLE tsubaki WITH SUPERUSER CREATEDB CREATEROLE;
 ALTER ROLE
 postgres=# \du
                 ロール一覧
  ロール名 |        属性        | メンバー 
 ----------+--------------------+----------
  postgres | スーパーユーザ     | {}
           : ロールを作成できる   
           : DBを作成できる       
  sakura   | スーパーユーザ     | {}
  tsubaki  | スーパーユーザ     | {}
           : ロールを作成できる   
           : DBを作成できる       

* ALTER ROLEの各種オプション [#l3c5d485]
psqlコマンドでログインし、\hコマンドでALTER ROLEの説明を表示しました。~
以下のようにオプションが多数ありますので、必要に応じて設定してください。

 postgres=# \h ALTER ROLE
 コマンド:     ALTER ROLE
 説明:         データベースのロールを変更する
 書式:
 ALTER ROLE ロール名 [ [ WITH ] オプション [ ... ] ]
 
 オプションは以下のいずれか:
     
       SUPERUSER | NOSUPERUSER
     | CREATEDB | NOCREATEDB
     | CREATEROLE | NOCREATEROLE
     | CREATEUSER | NOCREATEUSER
     | INHERIT | NOINHERIT
     | LOGIN | NOLOGIN
     | CONNECTION LIMIT 最大接続数
     | [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'パスワード'
     | VALID UNTIL 'タイムスタンプ' 
 
 ALTER ROLE ロール名 RENAME TO 新しい名前
 
 ALTER ROLE ロール名 SET 設定パラメータ名 { TO | = } { 値 | DEFAULT }
 ALTER ROLE ロール名 SET 設定パラメータ名 FROM CURRENT
 ALTER ROLE ロール名 RESET 設定パラメータ名
 ALTER ROLE ロール名 RESET ALL

#htmlinsertpcsp(db-btm.html,db-sp.html)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS