【发布时间】:2012-06-20 22:44:16
【问题描述】:
谁能解释一下时间线和历史文件的用途以及 recovery.conf 中的“recovery_target_timeline”设置。
我从 postgresql 9.1 文档中得到的模糊理解是,当从属设备完成恢复时,它会切换到新的时间线以防止覆盖先前时间线的 WAL。我不清楚这是如何在恢复场景中使用的,以及 .history 文件的用途以及将“recovery_target_timeline”设置为“最新”。
我试图了解当我将奴隶提升为新主人时会发生什么。它在接受读/写查询之前恢复并启动新的时间线。
现在如果我设置一个新的从站,因为我将现有的从站提升为主站,它是否需要/使用前一个从站(新主站)生成的历史文件来读取(由新主站)生成的新 WAL 以保持连续归档/日志传送。
非常感谢。
【问题讨论】:
-
recovery_target_timeline 用于指定一个时间线,以防您在之前已经执行过时间点恢复之后进行恢复,这会产生不同的时间线。见postgresql.org/docs/9.1/static/…