PostgreSQL8.3.5導入

CentoSにPostgreSQLインストール(バージョンアップ)する方法

※2009年の情報だからかなり古い情報です。取扱はご注意ください。

  1. 8.1系でDBを使用していたのでDBのダンプを取る
    $ su -
    # su - postgres
    $ pg_dump DB名 > DB名.db
    $ exit

     

  2. 次にhttp://yum.pgsqlrpms.org/にアクセスしてRPMを取得
    公式サイトに8.3.5が安定版書いてあったので8.3.5を取得(一気にスーパーユーザで入れてます)
    # wget http://yum.pgsqlrpms.org/8.3/redhat/rhel-5-i386/pgdg-centos-8.3-5.noarch.rpm

     

  3.  落としてきたRPMをインストール

    # rpm -Uvh pgdg-centos-8.3-5.noarch.rpm

     

  4. 次にyumのBase.repoからPostgreSQLを取得しないように設定

    [base]と[updates]の最後に exclude=postgresql* を追記

     

    # vi /etc/yum.repos.d/CentOS-Base.repo
    [base]
    
    exclude=postgresql*
    
    [updates]
    
    exclude=postgresql*
    

     

  5. 次にdataディレクトリを退避

    # cd /var/lib/pgsql/

    # mv ./data ./data_old

      

  6. あとはyum updateを実行すればOK

    # yum update

     

     と何故かここで perl-DBD-Pg がエラーで引っかかる
    yum経由でpgdg-83-centos.repo が perl-DBD-Pgを落とそうとしているのが原因
    と、言うわけで [pgdg83] の最後に exclude=perl-* を記載して黙らせる

     

    # /etc/yum.repos.d/pgdg-83-centos.repo
    [pgdg83]
    
    exclude=perl-*
    

     

  7. 再びyum実施

    # yum update

     

    でインストール完了~

     

  8. PostgreSQLのDBを初期化して起動する

    # /etc/rc.d/init.d/postgresql initdb

    # /etc/rc.d/init.d/postgresql start

      

  9. 最後に退避していたDBのダンプを戻して完了

    # su - postgres
    $ createdb DB名
    $ psql -e DB名 > DB名.db