我有一个运行使用PostgreSQL的Web应用程序的Tomcat Web服务器。组织的所有手动过程都通过Web应用程序自动执行,持久层为Hibernate。我想为用户提供备份和还原选项。
备份会以某种方式从数据库获取所有数据/架构(可能不是架构)并压缩它并通过Web应用程序将其发送给用户,以允许它们将备份保存在本地计算机上。然后,他们可以选择此备份文件,将数据库恢复到备份时的状态。
我们正在使用Tomcat容器,Spring + Hibernate和PostgreSql。
如何做到这一点?
答案 0 :(得分:1)
我见过人们将自定义备份例程放在一起。我真的,真的不推荐它。当出现问题时,他们往往会犯错误。
您最好的选择是使用经过充分测试的工具,这些工具是其他人的代码。 IMO的最佳选择是调用shell转义并运行pg_dump。这为您提供了相当多的灵活性和比您自己更强大的稳健性。然后打开文件,并将其发送到客户端。这就是我们使用自己的持久层和Perl对LedgerSMB所做的事情,但在任何其他系统上它应该或多或少相同。
备份非常重要。确保备份内部一致的主要代码最好不要保留在内部。