こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

psqlでのリストアの仕方

Windows上でPostgreSQL8.0を使用しています。

DBのバックアップを毎日自動で(タスク登録して)とっています。
具体的にはバッチファイルの中で以下のようなpg_dumpコマンドを実行させています。
「pg_dump -U ユーザー名 -f %DATE:~0,4%%DATE:~5,2%%DATE:~8,2%EXPDAT.db DB名 <dmp.txt」(なお、最後のテキストファイル内にはたぶんパスワードと思われる内容が記載されています。)

通常はAdminIIIを使用してバックアップおよびリストアを行っており、上記のバッチ実行にて作成されたダンプファイルからのリストアを行ったことがありません。(拡張子がBackupでないので、AdminIIIからのリストアはできませんでした)

ヘルプや書籍を参考に、psqlからのリストアを試みたのですが、そもそもどのようにコマンドを入力してよいかわかりません。
試した内容は以下の通りです。

1.psql.exeを実行
2.ホスト名、ユーザー名、パスワード、データベース名をそれぞれ入力
3.データベース名#> が表示されるので、「psql -U ユーザー名 -d データベース名 -f "c:\20070822EXPDAT.db"」と入力し実行すると、psqlという文字列に対してsyntaxエラーとなってしまいました。

そもそも、psql画面でのコマンドの入力方法がよくわかっておりません。書籍などをみるとよく「psql -U xxx -d xxx -f xxx」と書いてありますが、実際に入力するのはどこからでしょう?
担当者が退社してしまい、手探り状態で運用し始めたところです。
大変初歩的な質問で申し訳ありませんがよろしくお願いいたします。

投稿日時 - 2007-08-22 17:43:07

QNo.3277108

困ってます

質問者が選んだベストアンサー

こんにちは。

2.終了時点でpsqlは実行されているので、3.で再びpsqlを呼び出す
意味がわかりません。もしかして、
>psql -U ユーザー名 -d データベース名 -f "c:\20070822EXPDAT.db"
はpg_restoreの間違い?

あと、
>pg_dump -U ユーザー名 -f %DATE:~0,4%%DATE:~5,2%%DATE:~8,2%EXPDAT.db DB名 <dmp.txt
プレーンテキストでダンプしてますけど、これでうまくpg_restoreできましたっけ?

pg_dumpののとき -Fcオプションをつけてダンプしたら、リストアがうまくいかない
ですか?

投稿日時 - 2007-08-23 19:48:20

お礼

ご回答、どうもありがとうございました。
ちゃんと理解できるようになってからお礼を・・・と思っていたので遅くなってしまって申し訳ありません。

なんとかできるようになりました。ありがとうございました。

投稿日時 - 2008-12-04 15:48:02

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問