PostgreSQL 8.1.5 へバージョンアップ
2006年10月16日にPostgreSQL 8.1.4 が PostgreSQL 8.1.5 へバージョンアップしました。
不具合の修正だけのようです。詳細は、ダウンロードしたファイルの中に「 HISTORY 」というファイルがあるのでそこで確認できます。
ここでは、PostgreSQLのバージョンアップの方法を説明します。 バージョンアップに伴い、backupなどの作業もでてくるので、バックアップの取得~バージョンアップ~リストアの順番で説明します。
Last Update : 2006年12月05日
PostgreSQL 8.1.5 へバージョンアップの手順
1. バックアップ
まず、データベース全体のBackupを取得します。 Backup用のコマンドが用意されていますので、それを使用します。
また、Backupコマンドをする前にデータベースが更新されない状況にしておきましょう。 WEBからDBに更新がかかるならWEBサービスなどは停止させておきます。
Backup コマンド
$ pg_dumpall > ファイル名
全DBのロール、テーブルなど全てBackupとってくれます。
例 )
[postgres@localhost ~]$ whoami
postgres
[postgres@localhost ~]$ pwd
/home/postgres
[postgres@localhost ~]$ mkdir backup
[postgres@localhost ~]$ cd backup
[postgres@localhost ~]$ pg_dumpall > dumpall.db ← Backup コマンド
2. PostgreSQL 停止
Backupがとれたら、データベースに更新がかかる前にデータベースを停止します。
[postgres@localhost ~]$ pg_ctl stop ← DB コマンド
3. 元PostgreSQL関係ファイルのリネーム
PostgreSQL 8.1.5 へバージョンアップできた~と思っても既存のアプリが動かなくなったりしたら困ります。
いざという時の為に、元のファイル群は消去するよりリネームしてよけといた方が無難です。
なにかあったら戻せますから。
元PostgreSQLのファイルですが、「 /usr/local/pgsql 」内のものと、別の場所に「 data 」ディレクトリを作成していたら「 data 」、 あとログくらいだと思います。
$ su - ← root になる # mv /usr/local/pgsql /usr/local/pgsql_061205 ← リネーム # mv /var/log/postgresql.log /var/log/postgresql.log_061205 ← リネーム
4. PostgreSQL 8.1.5 インストール
インストール方法は、
と同じです。
ユーザ作成などの手順は、すでにユーザーがいるはずですのでいりません。 詳細は上記リンク参照してください。とりあえずダイジェストで。
$ su - ← root になる # cd /usr/local/src # wget ftp://ftp.jp.postgresql.org/source/v8.1.5/postgresql-8.1.5.tar.gz # tar zxvf postgresql-8.1.5.tar.gz # cd postgresql-8.1.5 # ./configure # gmake # gmake install # mkdir /usr/local/pgsql/data # chown -R postgres.postgres /usr/local/pgsql # touch /var/log/postgresql.log # chown postgres.postgres /var/log/postgresql.log # su - psotgres ← postgres ユーザーにスイッチ $ initdb -D /usr/local/pgsql/data --no-locale ← データベースクラスタの作成 $ exit # /etc/init.d/pgsql start ← PostgreSQL起動
これで、バージョンアップ自体は終了です。ちゃんとバージョンアップされたか確認しましょう。
[postgres@localhost ~]$ psql --version psql (PostgreSQL) 8.1.5 contains support for command-line editing
よし!って事でバージョンアップ完了。
5. データのリストア
データベースをバージョンアップしたら、データを戻さなければなりません。
以下のコマンドでデータを戻します。
psql -f バックアップファイル postgres
実際にデータを戻します。
postgres ユーザーで行います。
[postgres@localhost ~]$ cd backup [postgres@localhost backup]$ psql -f dumpall.db postgres
データの確認や、アプリケーションの動作などを確認します。 問題がなければバージョンアップ終了です。