PostgreSQLのバージョンアップ

最終更新日時:2010-06-03 20:39:56
PostgreSQL

バージョンアップ


PostgreSQL では、メジャーバージョン( 7.2.3 だったら、7.2 の部分)が異なるバージョン間ではデータの格納方式が変更されていて、互換性がありません。
従って、例えば 7.1.3 から 7.2.3 にバージョンアップする際には、一度真っ新な状態で 7.2.3 をインストールした後、7.1.3 時のデータを復元する必要があります。
一般的には、以下のような手順となります。

現在のデータをバックアップ。


現在DBにあるデータを全てバックアップします。
この時注意することは、バックアップ中に DB 中に更新が走らないようにすることです。
バックアップ中に更新が走ってしまうとバックアップにその更新は含まれません。

 % pg_dumpall > outputfile 


PostgreSQLを停止


バックアップ完了後、PostgreSQLを停止します。
当然、バックアップ完了後からPostgreSQL停止までに更新が入ってしまった場合には、その更新は復元時には含まれません。

新バージョンのPostgreSQLを起動


新バージョンのPostgreSQLをインストールします。
この時、もし旧バージョンと同じ場所にインストールするのであれば、万が一の時のために旧バージョンのディレクトリを移動しておきます。
インストール後、データベースクラスタの初期化、各種設定も通常通り行い、新バージョンのPostgreSQLを起動します。

バックアップからデータを復元


以下のようにして、バックアップしたデータを新バージョンのPostgreSQL上に復元します。

 % /usr/local/pgsql/bin/psql -d template1 -f outputfile 


お問い合わせは 掲示板 にて。