1

我有一个运行使用 PostgreSQL 的 Web 应用程序的 Tomcat Web 服务器。组织的所有手动过程都通过具有作为 Hibernate 的持久层的 Web 应用程序实现自动化。我想为用户提供备份和恢复选项。

备份会以某种方式从数据库中获取所有数据/模式(可能不是模式)并将其压缩并通过网络应用程序将其发送给用户,以允许他们将备份保存在本地计算机上。然后,他们可以选择此备份文件以将数据库恢复到进行备份时的状态。

我们使用 Tomcat 容器,Spring+Hibernate 和 PostgreSql。

如何才能做到这一点?

4

1 回答 1

1

我见过人们将自定义备份例程放在一起。我真的,真的不推荐它。当事情出错时,他们往往会出错。

您最好的选择是使用经过良好测试的工具,这些工具是其他人的代码。IMO 的最佳选择是调用 shell 转义并运行 pg_dump。与您自己获得的相比,这为您提供了相当多的灵活性和更强的健壮性。然后打开文件,并将其发送给客户端。这就是我们用我们自己的持久层和 Perl 对 LedgerSMB 所做的,但在任何其他系统上它应该或多或少相同。

备份很重要。确保备份内部一致的主要代码最好不要保留在内部。

于 2013-03-22T01:27:56.307 回答