我公司的网站使用 PostgreSQL 数据库。在我们的数据中心,我们有一个主数据库和一些只读从数据库,我们使用 Londist 在它们之间进行连续复制。
我想为报告目的设置另一个只读从数据库,并且我希望这个从数据库位于远程位置(数据中心之外)。这个从站不需要 100% 是最新的。如果它长达 24 小时,那很好。另外,我想尽量减少我在主数据库上的负载。由于我们的主数据库白天忙,晚上空闲,我认为一个好主意(如果可能的话)是让报告从站每晚赶上一次。
我正在考虑为此使用日志传送,如 http://www.postgresql.org/docs/8.4/static/continuous-archiving.html中所述
我的计划是:
- 在主数据库上设置 WAL 归档
- 生成完整的数据库快照并将其复制到远程位置
- 恢复数据库并让它赶上
- 进入稳定状态,其中:
- DAYTIME - 数据库落后,但人们可以查询它
- 晚上——我复制了一天的 WAL 文件并让数据库赶上
注意:这里的关键是我只需要复制一次完整的数据库快照。此后,我应该只需要复制一天的 WAL 文件就可以让远程从站再次赶上。
因为在我想要一些反馈/建议之前我还没有完成日志传送。
这行得通吗?PostgreSQL 是否支持这种重复恢复?
对于如何设置远程半新鲜只读从站,您还有其他建议吗?
谢谢!
--S