ソフトウェア開発者の日常

こだわりなく書きたいことを書いていきます。

PostgreSQLを複数バージョン導入した環境で、リストアが上手くいかない場合の対処方法

単純な方法で対処できました。

f:id:AJYA:20130129220522j:plain

photo credit: isriya via photopin cc

 

会社のパソコン(Windows)には、PostgreSQL 8.3をインストールした後に、9.1をインストールしてあります。

PgAdmin IIIで、テーブル作成等を行っている限り問題はありませんが、バックアップとリストアができなくなっていました。

PostgreSQL 8.3を消さなかったために、8.3用のバックアップとリストアの実行モジュールが使われて、バージョンがあわないエラーが表示されていました。

 

対処方法

リストアの実行状態を確認すると、ディレクトリが8.3用のディレクトリになっていました。

C:\Program Files\PostgreSQL\8.3\bin\pg_restore.exe --host localhost --port 5432 --username postgres --dbname dbname --verbose "c:\backup.backup"

ディレクトリを変えれば動作するだろうと思い、コマンドプロンプトから

"C:\Program Files\PostgreSQL\9.1\bin\pg_restore.exe" --host localhost --port 5432 --username postgres --dbname dbname --verbose "c:\backup.backup"

というように実行したら、 リストアされていました。

 

気がつけば簡単なことでしたが、気づくまで半年くらいかかっていました。

バックアップも同じようにやればできると予想しています。