2016-12-08 21 views
0

Postgresデータベースのバックアップとリストアが問題なく成功したことを確認する最も良い方法は何ですか?Postgresのバックアップが成功したかどうかを確認するには?

私はバックアップに次を使用しています/復元:

sudo -u postgres pg_dump -Ft db > database.tar 
sudo -u postgres pg_restore -Ft database.tar 
+1

出力をログに保存し、grepにエラーを出力しますか? –

+0

これを行うことはできますが、ログの「エラー」のすべてがエラーではありません。私は、実行された操作の数と失敗の数を説明する結果出力のようなものがあるかどうか疑問に思っていました。 – ScrawnySquirrel

+0

すべてのエラーはエラーです。必要に応じて操作やエラーを数えることができます。何らかのエラーがクリティカルであるかどうかを判断することだけです。 –

答えて

0

を限り私は壊れたダンプを見たことがないPostgreSQLのバックアップを行うためのさまざまな方法で経験の数年のうち、言うことができるよう。 pg_dumpに問題がある場合は、postgresqlシステムログで見つけることができるいくつかのエラーメッセージが表示されます。通常は/var/log/postgresqlです(ファイルにstderrを記録しない場合)

しかし、ディスクエラーのために、この場合pg_dumpはバックアップを作成できませんでした。あまりにも多くの共有メモリを割り当てようとすると、奇妙なエラーでクラッシュしました。 PostgreSQLがそれに関する他のエラーを表示しなかったので、このように何かが間違っていることが警告されました。

+0

さて、私は、ジッパーなしでホスト間でダンプファイルを転送しました。その後、時々、復元時に破損データエラーが発生しました。 –

+1

OK、ソースインスタンスからGoogleニアラインストレージにバックアップを送信し、必要に応じてGSからターゲットインスタンスにコピーをコピーします。チェックサムを使用して転送が成功した場合はgsutilチェックを使用してGSとの間でこれらの転送を行い、必要に応じてそれを繰り返します。したがって、転送中の破損を避けるためにチェックサムを使用することも検討してください。あなたは知っている - 悪いことはいつでも起こる... – JosMac