繁体   English   中英

时间轴和历史文件postgresql 9.1

[英]timelines and history files postgresql 9.1

有人可以向我解释时间轴和历史文件的目的以及recovery.conf中的“recovery_target_timeline”设置。

我从postgresql 9.1文档中得到的模糊理解是,当slave完成恢复时,它会切换到新的时间轴,以防止覆盖之前时间轴的WAL。 我不清楚如何在恢复场景中使用它以及.history文件的目的和'recovery_target_timeline'设置为'latest'。

我试图了解当我促使奴隶成为新的主人时会发生什么。 它在接受读/写查询之前恢复并启动新的时间线。

现在,如果我将现有从站提升为主站,则设置新的从站,是否需要/使用由前一个从站(新主站)生成的历史文件来读取由新主站生成的新WAL(用于连续归档/日志)运输。

非常感谢。

要了解时间表,您必须了解的是,它们是为了避免MVCC问题和时间轴的分歧。 考虑这一点的好方法是在复制的背景下。 在主/从流复制中,您不希望有人将主服务器作为主服务器插入一堆信息,然后将其重新转换为从服务器。 如果这样做,WAL段的二进制日志将无法再正常运行,您将获得数据库损坏。

当您将从属设备恢复到新主设备时,它会完成“恢复”并启动自己的时间轴。 从现在开始,它现在是主人,如果没有重建就不能再回到奴隶身边了。 这会给故障转移和故障恢复带来一些问题,但执行此操作的方法是定期使用pg_basebackup重建数据库(使用pg_basebackup )作为新从pg_basebackup来回执行故障。 这意味着每个故障转移/故障回复都是新的时间轴。

是的,这确实会影响多台服务器的故障,因为从站必须更改时间线。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM