#navi(../)
* PostgreSQLでユーザを追加(作成)する方法 [#td4d6339]
PostgreSQLでユーザを作成する手順を記します。~
使用した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)

* 関連資料・関連記事 [#ud8b90c5]
-[[PostgreSQLでユーザを削除する方法>PostgreSQL/PostgreSQLでユーザを削除する方法]]
-[[PostgreSQLでユーザのロールを変更する・ALTER ROLE, ALTER USER>PostgreSQL/PostgreSQLでユーザのロールを変更する]]
-[[PostgreSQLでテーブルに対してのアクセス権限を設定する・GRANT,REVOKE>PostgreSQL/テーブルに対してのアクセス権限を設定する・GRANT,REVOKE]]

* createuserコマンドでユーザを作成する [#g9768b2e]
postgresユーザにsuしcreateuserコマンドでユーザを作成してみます。

** postgresユーザにsuする [#ge395c39]
postgresユーザにパスワードを設定していないため、以下の操作でpostgresユーザにsuしました。
 [sakura@centos6 ~]$ su -
 パスワード:
 [root@centos6 ~]# su - postgres
 -bash-4.1$ 

** createuserコマンドを使ってみる [#ubb71612]
createuserコマンドに-Pオプションを付けて実行します。

 createuser -P

オプション-Pを--helpオプションで確認するとパスワードを割り当てるとなっています。

 $ createuser --help
 <snip>
   -P, --pwprompt            ロールにパスワードを割り当てる
 <snip>

オプション-Pを付けない場合は、パスワードの設定はありません。

では、実際にcreateuserコマンドを使ってsakuraユーザを作成してみます。~
postgresユーザで実行した出力結果です。

 -bash-4.1$ whoami
 postgres
 -bash-4.1$ createuser -P
 作成するロール名を入力してください: sakura
 新しいロールのパスワード:
 もう一度入力してください:
 新しいロールをスーパーユーザとしますか?  (y/n)y
 -bash-4.1$ 

psqlコマンドで接続して実際にsakuraユーザが作成されていることが確認できました。
 -bash-4.1$ psql
 psql (8.4.13)
 "help" でヘルプを表示します.
 
 postgres=# select usename from pg_user;
  usename  
 ----------
  postgres
  sakura
 (2 行)

* SQLでユーザ追加を行う [#u77d52fc]
ユーザ追加を行うSQLは以下の構文になります。
 CREATE USER ユーザ名 ;
パスワードを設定する場合は、以下の構文になります。
 CREATE USER ユーザ名 WITH PASSWORD パスワード ;

実際にユーザを作成してみます。~
 -bash-4.1$ psql
 psql (8.4.13)
 "help" でヘルプを表示します.
 
 postgres=# create user tsubaki;
 CREATE ROLE
 postgres=# select usename from pg_user;
  usename  
 ----------
  postgres
  sakura
  tsubaki
 (3 行)
 
 postgres=# create user ajisai with password 'ajisaipasswd';
 CREATE ROLE
 postgres=# select usename from pg_user;
  usename  
 ----------
  postgres
  sakura
  tsubaki
  ajisai
 (4 行)
 
 postgres=# 

アクセス権限やロールの設定に関しては、以下のリンク資料を参照してください。
-[[PostgreSQLでユーザのロールを変更する・ALTER ROLE>PostgreSQL/PostgreSQLでユーザのロールを変更する]]
-[[PostgreSQLでテーブルに対してのアクセス権限を設定する・GRANT,REVOKE>PostgreSQL/テーブルに対してのアクセス権限を設定する・GRANT,REVOKE]]

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

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