postgreSQLのバージョンアップ.

postgresql 7.1系から postgresql 7.4.6 への更新を行った.手順は postgresql-7.4.6/INSTALL に書いてあるので,それに従った.

$ ./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

以上.