Rails環境構築(3)PostgreSQLインストール
ポスグレのインストール。yumで入るようなんだけど、聞くところによるとバージョンが古いらしい。念のため確認してみる。
$ yum list | grep postgresql
(中略)
postgresql.i686 8.4.18-1.el6_4 base
postgresql.x86_64 8.4.18-1.el6_4 base
postgresql-contrib.x86_64 8.4.18-1.el6_4 base
postgresql-devel.i686 8.4.18-1.el6_4 base
postgresql-devel.x86_64 8.4.18-1.el6_4 base
postgresql-docs.x86_64 8.4.18-1.el6_4 base
postgresql-ip4r.x86_64 1.05-1.el6 epel
うん、確かに古い。この記事を書いている時点では9.3.2とか出てるけど、yumで用意されてるのは8.4である。最新を入れればいいというわけでもないが、さすがにちょっと古いような気が。(ところでyumに入ってるパッケージの調べ方、これであってんのかな?)
てわけで新しいバージョンをWebから持ってくる。PostgreSQL RPM Repository (with Yum)にいろいろあるので適切なリンクURLをコピー。1コ前のバージョンでPostgresql 9.2にしときましょか。自分のOSがなんだかわかんなくなったらunameコマンドで確認。
$ uname -a
Linux xxx 2.6.32-358.23.2.el6.x86_64 #1 SMP Wed Oct 16 18:37:12 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
CentOS 6 x86_64であることがわかったので、wgetでダウンロード。
$ wget -P /tmp http://yum.postgresql.org/9.2/redhat/rhel-6-x86_64/pgdg-centos92-9.2-6.noarch.rpm
続いてRPMにインストール。
$ sudo rpm -ih /tmp/pgdg-centos92-9.2-6.noarch.rpm
warning: /temp/pgdg-centos92-9.2-6.noarch.rpm: Header V4 DSA/SHA1 Signature, key ID 442df0f8: NOKEY
########################################### [100%]
########################################### [100%]
rpmコマンドのオプションとして-iを付けるとパッケージのインストールが出来る。さらにhを付けると####で進捗が表示されるそうだ。必須オプションではないので、hについてはお好みで。
いよいよyumでインストール。
$ yum -y install postgresql92-server.x86_64
……yum installって補完はできないんですかね入れたら初期化して起動て自動起動設定します。
$ sudo service postgresql-9.2 initdb
$ sudo service postgresql-9.2 start
$ sudo chkconfig postgresql-9.2 on
ここまでで一旦インストールとしては終了。あとは基本的な設定をいくつか入れておく。
まずpg_hba.confを触る。これはDBに対するクライアントからのアクセスを制御するファイルで、さきほどinitdbしたときに作成されている。管理している内容としてはどのDBに対するどのユーザーのどこ(IP)からのアクセスを、どの認証方式で認証するか。必要に応じて書き入れてやる必要があるが、ひとまず参考書通りの設定をしておく。
$ sudo vim /var/lib/pgsql/9.2/data
# TYPE DATABASE USER ADDRESS METHOD
local all postgres peer
local all all md5
host all all 127.0.0.1/32 md5
host all all ::1/128 md5
終わったらPostgreSQLをリロード。
$ sudo service postgresql-9.2 reload
今回はここまで。