1

PostgreSQLを使用するWebアプリケーションを実行しているTomcatWebサーバーがあります。組織のすべての手動プロセスは、Hibernateとして永続層を備えたWebアプリケーションを介して自動化されます。ユーザーにバックアップと復元のオプションを提供したいと思います。

バックアップはどういうわけかDBからすべてのデータ/スキーマ(おそらくスキーマではない)を取得し、それをzipして、Webアプリを介してユーザーに送信し、ローカルマシンにバックアップを保存できるようにします。次に、このバックアップファイルを選択して、バックアップが作成されたときの状態にDBを復元できます。

私たちはTomcatコンテナ、Spring+HibernateとPostgreSqlを使用しています。

これはどのように行うことができますか?

4

1 に答える 1

1

私は人々がカスタムバックアップルーチンをまとめるのを見てきました。私は本当に、本当にそれをお勧めしません。物事がうまくいかないとき、彼らはひどくうまくいかない傾向があります。

あなたの最良の選択肢は、他の人のコードである十分にテストされたツールを使用することです。最良のオプションIMOは、シェルエスケープを呼び出してpg_dumpを実行することです。これにより、自分で取得するよりもかなりの柔軟性と堅牢性が得られます。次に、ファイルを開き、クライアントに送信します。これは、独自の永続化レイヤーとPerlを備えたLedgerSMBで行うことですが、他のシステムでもほぼ同じである必要があります。

バックアップは重要です。バックアップが内部的に一貫していることを保証するためのメインコードは、実際には社内に保管しないのが最善です。

于 2013-03-22T01:27:56.307 に答える