postgresql 7.1系から postgresql 7.4.6 への更新を行った.手順は postgresql-7.4.6/INSTALL に書いてあるので,それに従った.
- 新しい postgresql をコンパイルしておく, インストールは未だ行わないこと.
$ ./configure $ make
- 新しい pg_dumpall でDBのダンプを取る.
$ export LD_LIBRARY_PATH=`pwd`/postgresql-7.4.6/src/interfaces/libpq/ $ cd `pwd`/postgresql-7.4.6/src/bin/pg_dump
バージョンを確認
./pg_dumpall -V
"-o " オプション付きで dump する.
$ ./pg_dumpall -o > /tmp/pgsql.dump
- 新しい postgresql をインストールする.
DBを止める.
$ /etc/init.d/postgresql stop
古いpostgresql は一応バックアップしておく.
$ sudo mv /usr/local/pgsql /usr/local/pgsql.old
makeしておいた新しい postgresql をインストール.
$ sudo make install
新規インストール時と同様に 新しくDBを作る.
$ sudo mkdir /usr/local/pgsql/data $ sudo chown postgres /usr/local/pgsql/data $ sudo chmod 0700 /usr/local/pgsql/data
$ sudo -s # su - postgres
念のため 環境変数 $PGDATA の値を確認.
# echo $PGDATA
データベースを作成.
# initdb --encoding=EUC_JP --no-locale
新しい postgresql を起動する.
$ /etc/init.d/postgresql start
バージョンを確認して,最新版であることを確認.
$psql -V
とうぜんまだDBは空っぽである.
$psql -l
- DBをリストアする.
新しい psql を使って,DBをリストアする.
問題なければリストアする.
$psql -d template1 -f /tmp/pgsql.dump
以上.