正如主题中所说,我需要一些帮助将数据库恢复到新服务器。
一台服务器上有一个生产数据库 - 我每天都会将该数据库自动备份到远程位置:pgdump、二进制文件和 bzipped 日志。
现在我想在运行该数据库副本的另一台服务器上创建一个测试环境。
您能一步一步地告诉我如何恢复它吗?
我读http://www.postgresql.org/docs/8.3/interactive/continuous-archiving.html但由于我使用 Postgres 的时间不长,因此在理解它方面还存在一些问题。
答案1
因此,你每晚都会进行一次“一致的” pg_dump 备份,你可以pg_restore进入您的测试实例;这是第一步,如果您只想恢复夜间备份期间出现的数据库,这就是您需要做的全部工作。
第二步(可选)是从生产实例中获取已提交的 WAL 文件,并将它们“重放”到测试实例中;这样您就可以从备份时间一直前进到最后一个 WAL 文件提交的时间。您引用的文档主要涉及围绕这些生产 WAL 文件设置基础设施的想法,以便定期可靠地提交它们,并且挂接到备份系统中允许在提交 WAL 文件后立即备份它们;我们围绕此构建了一个系统,使我们能够在任何中断期开始后的五分钟内执行数据库恢复。
然而,听起来您要做的事情比这要简单得多;pg_restore 应该完全可以满足您的要求。