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