Linux への PostgreSQL のインストールと Ruby 連携

こんなこと何十回もやったはずなんだけど、毎回細かいところを忘れて検索しまくるハメになるので、いい加減メモしておく。

インストール

yum コマンドがつかえると言う前提で。

$ yum install postgresql postgresql-server

以上。1分くらいでインストールされるはず。ruby は別途インストールしてあるという前提で。起動用ユーザアカウント (postgres) とかは勝手に作られる。

初期化

インストールしただけではデータ領域の確保などがされてないので、次のコマンドで初期化する。

$ service postgresql initdb

デフォルトで /var にデータが置かれる。ディスクの空き容量は注意が必要。

起動

$ /etc/init.d/postgresql start

/etc/rc.d/init.d には勝手に登録される模様。

起動テスト

$ su postgres
bash-4.0$ psql -l

何か反応があれば多分成功。とりあえずDBがないから空なはず。

アクセスユーザの追加

bash-4.0$ createuser -P username

パスワードの設定、superuser か? createdb できるようにするか? 他のユーザを作れるようにするか?に答えるとできる。消すには dropuser を使う。

データベースの作成

bash-4.0$ createdb dbname

消すのは dropdb。

db へのアクセス権限の付与

bash-4.0$ psql

postgres# CREATE GROUP grpname
postgres# ALTER GROUP grpname ADD USER username
postgres# GRANT ALL ON dbname TO groupname

ALTER でユーザは追加していける。

Ruby まわり

DBI はインストールしてれば入ってるから考えなくてよし。postgres モジュールは、

yum search ruby-postgres

でOK。

以上

これだけできたら後は何とかなるはず!