DSpaceインストールに伴うPostgresの更新 1.新バージョンのpostgresを構築する. 少なくとも次のオプションを指定して、configure を実行する ./configure --enable-multibyte --enable-unicode --with-java 2. Tomcatを停止する 3. 現在のデータをダンプする pg_dumpall -o >dspace.out 4. Postgresを停止する pg_ctl stop -D /dspace/database/data -m fast 5. データディレクトリのバッックアップを取る mv /dspace/database/data /dspace/database/data.old 6. 新バージョンのpostgresをインストールする 7. 新バージョンのpostgresを立ち上げる initdb -D /dspace/database/data edit /dspace/database/data/postgresql.conf (Add 'tcpip_socket = true') pg_ctl start -D /dspace/database/data 8. データをリストアする psql -d template1 -f dspace.out 9. 新しいJDBC driverをインストールする from the new postgres installation directory: cp share/java/postgres.jar /dspace/lib 10. Tomcatの再立ち上げをする ------------------------------------------------------------------------------- postgresインストール説明書による注意事項 ------------------------------------------------------------------------------- バージョンアップをする方へ 新リリースのPostgreSQLでは、内部のデータ保存形式が変更されました。 それゆえ、バージョン番号が「7.3.x」ではないシステムからバージョンアップする場合は、 ここで説明するようにデータのバックアップとリストアが必要です。 以下の操作例では、既存のシステムが、"/usr/local/pgsql" ディレクトリにインストール されており、データエリアが、"/usr/local/pgsql/data" であると仮定しています。 実際のインストールパスに適宜置き換えてください。 1. バックアップの最中、あるいは以後に、データベースが更新されないようにして ください。データベースが更新されても、バックアップデータの完全性に影響は 与えませんが、変更されたデータはもちろんバックアップデータには含まれない ことになります。必要に応じて、あなた以外の者がアクセスできないように、 "/usr/local/pgsql/data/pg_hba.conf"ファイル(もしくはこれに相当するファイル)の パーミッションを変更します。 2. データベースをバックアップするために、次のコマンドを入力します。 pg_dumpall > outputfile (外部キーとして使用しているなどで)OIDを保存したい場合は、"pg_dumpall"コマンドを 実行する際に、"-o" オプションを指定します。"pg_dumpall"は、ラージオブジェクトを 保存しません。これが必要な場合は、管理者ガイドに参照してください。 バックアップをとるために、現在稼働しているバージョンの"pg_dumpall"コマンドを 使用することができます。しかし、できればPosgreSQL 7.3.1の"pg_dumpall" コマンドを使うようにしてください。このバージョンは古いバージョンに比べてバグの 修正や改良がなされているからです。まだ新しいバージョンをインストールしていない ので、この忠告は変に聞こえるかもしれません。しかし、もし旧バージョンを残した まま新バージョンをインストールするつもりであれば、この忠告に従った方が賢明です。 そうすれば、インストールを正常に完了させ、データを後で移行することができます。 また、システムの停止時間も減らすことになります。 3. 新バージョンを旧バージョンと同じ場所にインストールする場合は、遅くとも新 ファイルをインストールする前に旧サーバを停止します。 kill -INT `cat /usr/local/pgsql/data/postmaster.pid` 7.0より古いバージョンでは、この "postmaster.pid" ファイルを持っていません。 そのようなバージョンを使用している場合は、たとえば、"ps ax | grep postmaster" と入力してサーバのプロセスidを自分で見つけて、"kill"コマンドに与える必要が あります。 ブート時にPosgreSQLを立ち上げているシステムでは、たぶん同じことを実行するスタート アップファイルがあるでしょう。たとえば、Red Hat Linuxシステムでは次のような コマンドで実行することができるでしょう。 /etc/rc.d/init.d/postgresql stop もう一つの方法として、"pg_ctl stop" があります。 4. 旧バージョンと同じ場所にインストールする場合、問題が発生して元に戻す必要が生じる 場合に備えて、旧バージョンを邪魔にならない場所に移動しておくこともよい方法です。 次のようなコマンドを使用します。 mv /usr/local/pgsql /usr/local/pgsql.old PostgreSQL 7.3.1をインストールしたら、新しいデータベースディレクトリを作成して、新 サーバを立ち上げます。次のコマンドは特別なデータベースユーザアカウント(バージョンアップ の場合、すでのこのアカウントを持っているはずです)で実行しなければならないことを 思い出してください。 /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data 最後に、「新しい」psqlコマンドを使って、データを次のようにリストアします。 /usr/local/pgsql/bin/psql -d template1 -f outputfile これらの話題は、管理者ガイドに詳しく説明されています。一度目を通しておいてください。 -------------------------------------------------------------------------------