--- categories: "環境構築" comments: true date: "2014-01-26T00:00:00+09:00" title: "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)](http://yum.postgresql.org/repopackages.php)にいろいろあるので適切なリンク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 ``` 今回はここまで。 ## 参考 * [pg_hba.confファイル](http://www.postgresql.jp/document/8.2/html/auth-pg-hba-conf.html) * [Mac MountainLion/CentOS 6.4へのPostgreSQL 9.2の導入手順 - 酒と泪とRubyとRailsと](http://morizyun.github.io/blog/postgresql-mac-centos-rails/)