gpt4 book ai didi

postgresql - 新主人的 POSTGRES 复制

转载 作者:行者123 更新时间:2023-11-29 13:24:00 26 4
gpt4 key购买 nike

我们正在构建一个架构来支持我们的 Postgres 9.5 数据库的高可用性。我们有 1 个主站和 3 个从站复制主站的数据。当 master 宕机时,Slave 1 被提升为新的 master,但 Slave 2 和 Slave 3 仍然指向以前的 master 而不是更新后的 master 节点。 有没有办法让奴隶动态地从新主人那里读取。还是需要手动更改配置并重启从站?

最佳答案

没有简短的答案,但我会尝试:

  • 当主服务器出现故障时,您将提升一个从属服务器,并重新配置所有其他从属服务器以瞄准新的主服务器。然而,有一种情况可能不需要重新配置其他从属:如果您正在使用“WAL 归档”,并且您的归档存储在共享驱动器上,该驱动器在旧主驱动器发生故障后仍然存在。如果新的主节点继续使用相同的共享存储,您可能不需要重新配置其他从节点。再说一次,我从未尝试过这个 - 你可以试试。
  • 如果您的复制机制基于“复制槽”(在 PostgreSQL 9.4 中引入)——那么您必须重新配置所有的从服务器。在这种情况下,实际上您必须从头开始在所有其他从属设备上重建复制(就好像它们根本就不是从属设备一样)。尽管如此,我认为“复制槽”是更好的选择。

关于自动化:您问过是否可以自动重新配置其他从站,但您没有提及的是您是否实现了任何故障转移自动化。我想说的是 PostgreSQL 本身不会自动执行故障转移(当主服务器出现故障时提升其中一个从服务器)。至少你必须在要提升的从站上创建“触发文件”,你必须手动或使用其他产品(例如 pgpool2)来执行此操作。

如果您使用 pgpool2 - 您可以通过设置 follow_master_command pgpool.conf 值来设置自动从站重新配置。

最后我强烈推荐阅读 this tutorial - 它会让您的生活更轻松。

编辑:我忘了说两件事:

  • 一旦新的主服务器被提升就自动重新配置所有其他的从服务器可能不是一个好主意,尤其是当你有很多从服务器的时候。这会给您的新主服务器和网络带来额外压力,因此在某些情况下,最好将其推迟到夜间。在上述教程中有更多相关内容。
  • 教程是我写的。

关于postgresql - 新主人的 POSTGRES 复制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37119395/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com