dポイントプレゼントキャンペーン実施中!

先日pgsqlの稼動しているサーバが起動できなくなり、何とかDBのバックアップを取ろうと色々やってみたのですが、pg_dumpも使えない状態だったので、pgsqlディレクトリをバックアップしました。
環境を再構築した後DBを作成し、baseにできたディレクトリの中にバックアップを取ったファイルを入れてみたのですが上手く動作しません。
何か良い方法はないでしょうか。
環境はredhat9、postgre7.3です。

よろしくお願いします。

A 回答 (1件)

こんにちは



initdbで作成されたディレクトリを削除してバックアップしたものをコピーす
るという方法でできませんか?

私の環境はWindows 2000にインストールしたCygwinのPostgreSQL 7.4.5ですが,
問題なくできました.
上書きコピーよりも置き換えた方がいいかも知れません.

この回答への補足

lively-gonさんありがとうございます。
早速やってみたのですが、psql-lでDBの存在は確認できるのですが、クライアントのシステムから接続するとエラーが出てしまいます。

The database dose not exist on the server or user authentication failed.

認証が上手くいかないのでしょうか...

この状態でpg_dumpしても
pg_dump: [archiver (db)] connection to database "ctidata" failed: FATAL: Database "ctidata" does not exist.
The database subdirectory '/var/lib/pgsql/data/base/16976' is missing.

このようにエラーが出てしまいます。

baseの中は1 132455 16975とディレクトリができていて、132455が該当のDB、ctidataとなります。

Name | Owner | Encoding
-----------+----------+-----------
ctidata | postgres | SQL_ASCII
template0 | postgres | SQL_ASCII
template1 | postgres | SQL_ASCII
(3 rows)

宜しくお願いします。

補足日時:2004/11/05 20:52
    • good
    • 0
この回答へのお礼

lively-gonさん上手くいきました!
baseディレクトリではなく、dataディレクトリごとコピーすることで復旧することができました。
ありがとうございます。助かりました!

お礼日時:2004/11/05 23:11

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!