底辺でもがくITエンジニア
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
さて、PostgreSQLのインストールも完了し、初期設定も完了しました。
次はDBユーザの作成をします。
DBユーザとは…
DBとはそもそもデータベース、つまりさまざまなデータの集合体です。
そのデータはいったいどういうものが多いでしょうか。
それはシステムによって異なりますが、少なくとも個人情報や、金銭的な帳票データなどが多いです。
つまりDBに格納されるデータはそのシステムの意味そのものであることが多いのです。
そんなシステムの中心に立つべきシステムを誰でもアクセスできる状態にしておいてよいものでしょうか。
あまりよろしくないですね。
そこでDBにアクセスできる状況を制御するためにも行うのが、DBユーザの作成です。
PgにはこのDBユーザのみしかアクセスできませんのでPgを使うユーザをあらかじめ定義しておくのがいいでしょう。
DBユーザを作成するには…
DBユーザを作成するには新規ロールを作成する権限を持つDBユーザしか行えません。
初期の状態で新規ロールを作成する権限を持ち合わせているのは「postgres」のみです。
ですのでpostgresユーザにスイッチし、DBの管理権限を与えてあげなければなりません。
postgresユーザはパッケージマネージャーを使用してインストールを行っているのであればユーザも自動的に作成されているはずです。
ですのでまずはrootユーザにてpostgresのログイン設定を行います。
ログイン設定といっても初期の状態ではパスワードの設定がなされていないために、ログインできないというだけですのでpostgresユーザにパスワードを設定してあげます。
# passwd postgres
ユーザを作成する準備はこれでOKです。
もしpostgresユーザ自体がいなかったらユーザを作成してあげます。
ロールとは…
ロールとはほぼイコール的にDBユーザということになります。
権限も踏まえユーザ単位でDBでの作業をどの程度できるのか、決定しますのでその単位をロールと呼びます。
詳細はググっていただければ難しいことがちらほら出てきます。
ここではPgに限らず、管理していく上で必要なことだけを記載します。
ユーザを作成する。
MySQLとは違いPgはPgにアクセスするということがありません。
Pgの中のDBに直接アクセスします。
MySQLなどはまずはMySQLというシステムにアクセスし、そこから使用するDBを指定してそのDBで作業を行いますが、PgはPgのシステムにアクセスした時点でDBを指定するのです。
と、言うことなので、PgにアクセスするときはPgで作業することが前提になってきます。
それ以外の作業、Pgにアクセスする段階の作業などは通常のコマンドラインから実行します。
$ createuser USER_NAME
コマンド発行後は3つの質問がされます。
新しいロールをスーパーユーザとしますか? (y/n)
新しいロールにデータベース作成権限を与えますか? (y/n)
新しいロールにロールを作成する権限を与えますか? (y/n)
それぞれ必要に応じて権限を与えてください。
システム上postgresユーザがすべての権限を持っているのは知られているのでそれ以外にスーパーユーザ権限を持っているといいですね。
もちろんpostgresユーザはその後はお役ごめんです。
そのほかの第二ユーザはとりあえずスーパーユーザとはせず、DB作成権限は必要に応じて、新しいロールの作成も通常スーパーユーザが他にいるのならば必要ないですね。
第二ユーザがどうしても作業するに当たってスーパーユーザ権限を手に入れなければならない場合、そのとき権限を変更してあげればいいと思います。
変更方法はこちらのサイトが参考になります。
次回は実際にDBを作成していきます。
PR
♥ 雑談話はこちら