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 行)
postgresユーザにsuしcreateuserコマンドでユーザを作成してみます。
postgresユーザにパスワードを設定していないため、以下の操作でpostgresユーザにsuしました。
[sakura@centos6 ~]$ su - パスワード: [root@centos6 ~]# su - postgres -bash-4.1$
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は以下の構文になります。
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=#
アクセス権限やロールの設定に関しては、以下のリンク資料を参照してください。