[pgsql-jp: 34153] Re: PostgreSQL のアップグレードについて

Sato_Kenichi satoak @ m14.alpha-net.ne.jp
2004年 10月 26日 (火) 02:09:29 JST


はじめまして、さとう です。
7.2.xは使ったことないので、推測ですけど…

>(1)念のため、/usr/local/pgsqlのバックアップを取る
>(2)postgresユーザーになり、cd /usr/local/src/postgresql-7.2.5として、ソース等の
>ディレクトリに移動する
>(3)make uninstall を実行して、古いPostgreSQLを削除する。
>(4)/usr/local/src上に、postgresql-4.2.6.tar.gzをコピーし、tarで解凍。
>(5)古いpostmasterのデーモンを停止させる
>(6)その後、configure, make, make installにて新バージョンをインストールする。

(3)で削除してしまっては、(5)のデーモンが停止できない(正常にシャットダウン
できない)気がします。

>(1)念のため、/usr/local/pgsqlのバックアップを取る
の後で、pg_ctl stop としてデーモンを停止させてから uninstall するんだと思
います。


>さて、この次の時点でinitdbを実行しなければならないのでしょうか。
>思いつく方法としては、
>(1)make install後、新しいpostmasterを起動させる。これは、make uninstall /usr/
>local/pgsql/dataが削除されておらず、かつ、新しいバージョンでも/usr/local/
>pgsql/dataディレクトリ内のデータベースが使えると思うことが前提になっています。
>(2)一連の作業の前に、pg_dumpでデータベースのバックアップを取り、新バージョンで
>のインストールと、initdb, make checkが終わった後で、pg_dumpでリストアする。
>の二つです。

個人的には(2)の方がいいと思いますが、まず(1)を試してもいいかも。(^^;

>どちらを使ったらよいか、または、いずれも駄目なら、バージョンアップの仕方につい
>て正当な方法をご教示いただければたいへん幸いです。

私の場合は、PGDATA=/data/pgsql として、データベースを別ディレクトリに置い
てあるので、以下の手順でお手軽にバージョンアップしています。
---
(1) 念のため pg_dump でバックアップ
(2) /usr/local/pgsql/bin/pg_ctl stop
(3) mv /usr/local/pgsql /usr/local/pgsql.old
(4) ./configure ; make ; make install
(5) /usr/local/pgsql/bin/pg_ctl start
---
uninstall しないで、リネームするのがお勧めです。(^^
(問題が発生した時、元に戻せるので)

# PGDATA を合わせれば、/usr/local/pgsql/data を移動させちゃって大丈夫な
# んですかね…?

------------------------------------
佐藤 研一 (さとう けんいち)
E-Mail: satoak @ m14.alpha-net.ne.jp
------------------------------------




pgsql-jp メーリングリストの案内