酒日記

2001 04 17

Tue, 17 Apr 2001

南アルプスの天然水 (0% × 1500 ml)

ここのところ、ぶり返した風邪のせいで半死半生。 月、火と無理して出社したら昨日(火曜)の帰りがけ、電車の中で具合が悪くなってヘタリ込む始末。 脂汗出るし、体に力は入らんし・・・死ぬかと思った。

なので、日記も書かず。というか、システム的には酒を毎日呑むことを前提にしてあるようなものなので、 呑まないと書きにくいのだった(^^;

さすがに今日は休まないとヤバそうだったので、休んで寝る。昨夜 38℃あった体温も 36℃前半まで降下、 まだちょっと咳が出るけど昨日ほどではなく。

...

PostgreSQL の 7.1 がリリースされていたので、aqua の PostgreSQL (この酒日記システムが稼働している) を入れ換えてみる。まずは既存 DB のデータのダンプを取る (バージョンが違うとデータファイルの互換性がないので)。

$ su postgres
$ pg_dumpall > db.out

Ring サーバのミラーから、 SRPM を持ってくる。 念のため SPEC ファイルを覗いてみて、--enable-multibyte が有効になっていることを確認。 7.1 ではインストールする前に regression test が出来るそうなので、バイナリパッケージを作る前に素で make してやってみる。

$ cp ~/rpm/SOURCES/postgresql-7.1.tar.gz /tmp
$ cd tmp
$ tar zxvf postgresql-7.1.tar.gz
$ cd postgresql-7.1/
$ configure --enable-multibyte
$ make
$ make check
(中略)
============== starting postmaster                    ==============
running on port 65432 with pid 12477
============== creating database "regression"         ==============
CREATE DATABASE
============== installing PL/pgSQL                    ==============
============== running regression test queries        ==============
parallel group (13 tests):  boolean char varchar text name int2 int4 
                                  float4 int8 oid float8 bit numeric
    boolean              ... ok
    char                 ... ok
    name                 ... ok
    varchar              ... ok
    text                 ... ok
    int2                 ... ok
    int4                 ... ok

(中略)
    limit                ... ok
    plpgsql              ... ok
    temp                 ... ok
============== shutting down postmaster               ==============

======================
 All 76 tests passed. 
======================

こんな感じで、仮にインストールされた postmaster を使ってテストが行われる。 ここではめでたく全部 ok となったので、問題なし。

リビルドして出来たバイナリパッケージを rpm -Uvh でインストール。

# cd /var/lib
# mv pgsql pgsql6.5
# mkdir pgsql
# chown postgres:postgres pgsql

として旧バージョンのデータディレクトリを別に取っておく。 /etc/rc.d/init.d/postgresql start として起動すると初回起動時には自動的にデータベースの初期化作業などが行われて、 postmaster が起動する。先にダンプしておいたデータを、

$ psql -e template1 < db.out

としてレストア。デフォルトの起動スクリプト (/etc/rc.d/initd/postgresql) で postmaster を起動するオプションに -i がついてない (ので、TCP/IP 経由での接続ができない) ので、-o '-i' を追加しておく。 LAN 内の他のマシンからも接続できるように、pg_hba.conf に

host         all         192.168.0.0   255.255.255.0       trust

を書き足して移行作業完了。

grass の PHP3、aqua の mod_perl(DBI) からの接続も問題なし。酒日記システムも正常稼働している模様。


powered by blosxom