• ベストアンサー

データベースの復元について

lively-gonの回答

  • ベストアンサー
回答No.1

こんにちは initdbで作成されたディレクトリを削除してバックアップしたものをコピーす るという方法でできませんか? 私の環境はWindows 2000にインストールしたCygwinのPostgreSQL 7.4.5ですが, 問題なくできました. 上書きコピーよりも置き換えた方がいいかも知れません.

kikuinu
質問者

お礼

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

kikuinu
質問者

補足

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) 宜しくお願いします。

関連するQ&A

  • DBI DBD::Pg 等のPerlモジュール・ドライバのインストールについて

    はじめまして。 Perlが稼動するWebサーバーと Postgreが稼動するDBサーバーと物理的に2台に分けた サーバー環境上での質問です。 DBI DBD::Pg Net::SMTP という3つをインストールしようと思うのですが、 どれをどちら(WebかDBか)のサーバーに 入れてよいのか判別がつきません。 (今まで1つのサーバー上で稼動させていた事がありますが) 理屈で考えれば、Perl上で動かすものだから すべてWebサーバーにインストールすればいいような気がする のですが・・・。 どなたかご存知の方、ぜひ教えてください。

  • データベースの復元

    SQLServer2000でDBのバックアップを取った ファイルからデータのみを復元することは可能でしょうか? そのまま復元すると既存のデータ-ベースファイルを 上書きするという形になると思うのですが テーブル構成だけはスクリプトファイルから作成し 入れたいデータはバックアップファイルから入れたいです。

  • crontabでDBのバックアップについて

    OS:Redhat ES 2.1 DB:PostgreSQL7.2 という環境のパソコンを2台(A,B)を用意し、 日常業務ではAを更新していき、 深夜にAの内容をBにバックアップする。 といった処理を構築しております。 backup.shというシェルで、 BからAにssh接続し、PostgreSQL内のDBの ダンプを書き出し、 rsyncでダンプファイルをBへコピーし、 B内でリストアするという処理です。 シェルファイルを直接実行した場合は、 問題なく動作するのですが、 crontabに登録して実行させると、 rsyncまでは動作しているのですが、 データベースへのリストアで処理が止まってしまい、 うまくリストアできません。 /etc/crontabファイル内のPathに、 /usr/local/pgsql/binとPostgreSQLのパスも 追加しているのですが、うまく動作せず、 なにが原因かよくわかりません。 ご教授願います。

  • 別筐体への環境コピー

    現在、RedHat上にJ2EEやDBをインストールして、サーバとして 稼動させています。 この度、使用しなくなった別筐体(OSはRedHat)に 同環境を作成させることになりましたが、 私は専門分野でないので現在の環境を 丸ごとコピー出来ないかと考えています。 (1つは別の場所で使用するためです。) まったく同じマシンであればリストアで出来ると思うのですが、 別の種類のマシンでは難しいでしょうか? フルdumpしたDATテープはあります。 OSは2台とも「RedHat EnterPrise Linux AS3」です。 今は、2台ともネットワークで繋がっています。 よろしくお願いします。

  • pg_dumpの文字化け

    PostgreSQLのpg_dumpを用いたバックアップで困っています。 OSはVineLinux 2.2.17-0vl10です。 あるサーバ(PostgreSQL7.0.2)のデータベースtest_db(EUC_JP)に対して、 pg_dump -D -v -i -f test.dump test.db でダンプファイルを作成しました。 COPYでは不確実な場合があるということでINSERT文で出力しました。 (データの日本語の部分が数字に変換されています) それを別のサーバ(PostgreSQL8.2.5)のデータベースtest2_db(EUC_JP)にリストアしました。 psql test2_db < test.dump すると、"(株)"という文字を含む文字列が化けてしまっていました。 同じレコードの他のカラムは大丈夫です。 このような場合の対策がありましたら教えていただきたいと思います。 宜しくお願いします。

  • 再インストールが必要でしょうか?

    現在Redhat7.3、PHP4.2.2とPostgreSQL7.2で動作しているのですが Postgreを7.3にバージョンアップしたいと考えております。 Postgreを現在と同様のディレクトリ構成で入れなおしても、 PHPを再インストールする必要がありますでしょうか? 宜しくお願いします。

    • 締切済み
    • PHP
  • LinuxでpostreSQLを毎日バックアップしたく、crontab

    LinuxでpostreSQLを毎日バックアップしたく、crontabに設定して 定時にpostgres.shファイルを実行させようとしています。 ファイルの中に、 if [ -x /usr/local/pgsql/bin/pg_dump ]; then とあるのですが、これは、 /usr/local/pgsql/bin/pg_dumpが存在する場合 という意味で合っていますでしょうか? よろしくお願いします。

  • 改行がはいったデータでエラー?

    サーバを変更することになり、PostgreのDBも移行することになりました。 Postgreのバージョンは 現在:7.1.3 新:8.1.4 です。 現在のDBのダンプファイルを作成し、 新しいDBにリストアしたのですが、 いくつかのテーブルでエラーがでて、 データのコピーができませんでした。 (テーブルは作成できましたが、データなく、空です。) エラーがでたテーブルには、どれも改行のはいったデータがあるので、 これが原因ではないかと思うのですが、 改行の入ったデータは何か問題があるのでしょうか? また、もし改行が原因であれば 何か解決策はありますでしょうか? 以上、よろしくお願いいたします。

  • crontab でスクリプトが動かない

    一応環境ですが、 CentOS5 PostgreSQL8 crontabでDBのバックアップを取ろうと思っていますがうまく動作しません。 以下のスクリプトファイルを作成し、crontabで毎日実行しようと考えています。 /home/hogehoge/Maintenance.sh/pg_dumpall.sh (内容)-------------------------------------------------------- #!/bin/sh cd /home/hogehoge/Maintenance.sh pg_dumpall -h localhost -U postgres -c > pg_dumpall.dump chmod 600 pg_dumpall.dump -------------------------------------------------------- crontab (内容)-------------------------------------------------- 0 4 * * * /home/hogehoge/Maintenance.sh/pg_dumpall.sh -------------------------------------------------------- しかし、時間になってもpg_dumpall.dump ファイルが作成されません。 crontab自体は動作しています。(ファイル作成だけをしたらちゃんとできてました) 0-59/2 * * * * /bin/date > /home/sweets/Maintenance.sh/hoge pg_dumpall.sh の内容を1行ずつ実行しても正常にできます。 cd /home/hogehoge/Maintenance.sh pg_dumpall -h localhost -U postgres -c > pg_dumpall.dump chmod 600 pg_dumpall.dump なにかほかにも設定しなくてはいけないことがあるのでしょうか?

  • ダンプリストア時のDBデータ不整合

    環境 CentOS5系 64bit DBバージョン 8.3.3 本番DBサーバからpg_dump -c -D でダンプしたデータを、ローカルテストDBサーバ へpsql にてリストアした際、データ不整合が、一部のテーブルに発生しました。 前のデータが一部クリアされずに残っている状況です。 ダンプのデータは、DBの内容と同じなのですが。 因みに、pg_dump パラメータ無しのダンプのリストアでは、発生しません。 何が、原因でしょうか? もしかしてバグ? ご教授願えれば幸いです。 宜しくお願い致します。