2011年9月21日水曜日

Scientific LinuxにyumでpostgreSQLをインストールする

表題の件でちょっと躓いたので備忘録。

で普通にやると以下の通り


 ・最新版のRepositoryを取得
    # export http_proxy="http://172.20.1.100:80/"
    # wget http://yum.pgrpms.org/reporpms/9.1/pgdg-sl-9.1-5.noarch.rpm

・Repositoryのインストール
    # rpm -i pgdg-sl-9.1-5.noarch.rpm

・yumインストール
    # yum install postgresql91 postgresql91-server

SLをMINIMUMで入れるとwgetが入っていないので要注意。
で躓くケースはSLのOSが6.0の場合にyumのところで下記のようにこけると思います。

# yum list | grep postgresql
http://yum.postgresql.org/9.1/redhat/rhel-6.0-i386/repodata/repomd.xml: [Errno 14] HTTP Error 404 : http://yum.postgresql.org/9.1/redhat/rhel-6.0-i386/repodata/repomd.xml
Trying other mirror.
Error: Cannot retrieve repository metadata (repomd.xml) for repository: pgdg91. Please verify its path and try again

とエラーが出るはずです。
これは6.0のRepositoryの参照先のURLが間違ってるため。
rhel-6.0-i386ってフォルダはなくてrhel-6-i386ならある。
http://yum.postgresql.org/9.1/redhat/
でフォルダの一覧が確認できるのでどうぞ。
でyumに拘っておらず、またOSのバージョンが上げたくない人上にRPMでインストールで良い方はこちらのリンク先を辿り、目的のRPMをGETすればインストールが出来るはずです。

でどうしてもyumで自分は入れたかったのでOSのバージョンを上げることで対応しました。
まずはOSのバージョンを確認

# cat /etc/redhat-release

これで6.1でない場合は下記の方法でupdateします。

# yum --releasever=6.1 update sl-release

で再度確認すると

# cat /etc/redhat-release
Scientific Linux release 6.1 (Carbon)

この状態になってるのでこれで再度

# yum install postgresql91 postgresql91-server

すればyumが走りインストール出来ると思います。


ソースからコンパイルの方法も公式で日本語ドキュメントが出てますがやっぱりRH系ならyum出来た方が嬉しいし、簡単ですよね。
postgresをリポジトリから落としてきてyumする方法もSLのOSのマイナーバージョンアップもWEBに情報はあるのですが一緒になってるものが無かったのでまとめてみました。