PostgreSQL のバージョンアップと旧バージョンからのデータ引き継ぎ
インストール法の詳細については google で検索すると良質な資料が多数出てくるので、ここでは扱いません。弱腰。
バックアップ
現在動いてるDBのバックアップを取ります。
十分な空きのあるファイルシステム上でバックアップを取りましょう。
$ pg_dumpall -o > backup.data
バックアップが終わったら postgres を停止します。
$ kill -TERM `head -1 /usr/local/pgsql/data/postmaster.pid`
というのが一番良いらしいんですがヒジョーに時間がかかります。
もしかしてすごい時間がかかるというのはワタシの実験してる環境が変なのかもしれません。
待てないセッカチさんは
$ kill -INT `head -1 /usr/local/pgsql/data/postmaster.pid`
で止めます(いいのかな?)。
ps で postmaster が居なくなってることを確認しましょう。
DBは念のため別名で保存しておきます。
$ mv /usr/local/pgsql/data /usr/local/pgsql/data_old
新バージョン インストール & 起動
インストールはフィーリングで。
$ ./configure 〜〜
$ make all
$ make install
$ initdb -D /usr/local/pgsql/data
$ /usr/local/pgsql/bin/pg_ctl -o "-i" -D /usr/local/pgsql/data start
以前のデータをリストア
動き始めたスッカラカンの新バージョンに、さっき取ったバックアップを戻します。
$ /usr/local/pgsql/bin/psql -d template1 -f backup.data
ひととおりデータを見て、きちんと戻っているようなら別名で保存しておいたDBを削除します(ディスクの無駄なので)。
これでおしまいです。結構簡単。
Moriya / moriya@s1.xrea.com