我公司的网站使用PostgreSQL数据库。在我们的数据中心,我们有一个主数据库和一些只读的从数据库,我们使用Londiste在它们之间进行连续复制。
我想设置另一个只读的从属数据库用于报告,我希望这个从属服务器位于远程位置(数据中心之外)。此从站不需要100%更新。如果它长达24小时,那很好。另外,我想尽量减少我对主数据库的负担。由于我们的主DB在白天忙碌而且在晚上闲置,我认为(如果可能的话)是让每晚报告奴隶赶上一次。
我正在考虑使用日志传送,如上所述 http://www.postgresql.org/docs/8.4/static/continuous-archiving.html
我的计划是:
注意:这里的关键是我只需要复制一次完整的数据库快照。此后,我只需要复制一天的WAL文件,以便让远程奴隶再次陷入困境。
因为在我想要一些反馈/建议之前我还没有完成日志传送。
这会有用吗? PostgreSQL是否支持这种重复恢复?
对于如何设置远程半新的只读从站,您有其他建议吗?
谢谢!
- S
答案 0 :(得分:3)
9.0's built-in WAL streaming replication旨在实现符合您目标的内容 - 可以接受只读查询的热备份或热备份。您是否考虑过使用它,或者您现在仍然坚持使用8.4?
(另外,即将发布的9.1版本预计将包含pg_basebackup的更新/重写版本,这是一个为新的奴隶创建初始备份点的工具。)
答案 1 :(得分:3)
你的计划应该有效 正如Charles所说,热备用是另一种可能的解决方案。它自8.2起受支持,对主服务器的性能影响相对较小。 热备份记录在手册中:PostgreSQL 8.4 Warm Standby
配置a的简短过程 备用服务器如下。完整的 每个步骤的详细信息,请参阅 前面提到的部分。
- 尽可能设置主系统和备用系统, 包括两个相同的副本 PostgreSQL在同一版本级别。
- 设置从主存档到位于WAL存档的连续存档 在备用服务器上的目录中。 确保archive_mode, archive_command和archive_timeout 在主要部分适当设置 (见第24.3.1节)。
- 进行主服务器的基本备份(参见第24.3.2节),然后加载 这些数据到待机状态。
- 从本地WAL存档开始在备用服务器上恢复, 使用指定a的recovery.conf restore_command等待的 如前所述(见章节) 24.3.3)。
醇>
要实现仅夜间同步,您的archive_command应在白天以非零退出状态退出。
其他信息: