【问题标题】:primary lagging behind recovery in postgres streaming replication在 postgres 流复制中主要滞后于恢复
【发布时间】:2016-05-10 13:53:36
【问题描述】:

我正在 postgresql-9.5 的 3 个节点之间进行流式复制。 1个主机和2个从机 我试图配置自动故障转移 但是当我切换回原来的 master 并重新启动 postgres 服务时,我收到以下错误:-

主要的最高时间线 1 落后于恢复时间线 11

有人可以帮忙吗?提前感谢

【问题讨论】:

  • 不确定这是一个 stackoverflow 问题。更多的dba,我会说。无论如何-这意味着您的新主要在次要“后面”。您将需要在辅助节点上使用 pg_rewind 或进行新的基本备份。
  • 我对 postgres 很陌生,sackoverflow 一直很有帮助,所以也在这里发布。我试过 pg_basebackup 但它说 pg_basebackup: could not connect to server: 致命: 数据库系统正在启动
  • pg_rewind 不能正常工作。它说“目标服务器需要使用数据校验和或“wal_log_hints = on”我检查了 postgresql.conf 中的 data_checksums 是否关闭并且 wal_log_hints 是否打开。你能在这里帮忙吗?
  • 我认为你最好的办法是在 postgresql 邮件列表上询问,听起来你需要比单个问题/答案对更多的帮助。邮件列表非常好。

标签: postgresql replication pgpool


【解决方案1】:

我不确定您所说的“当我切换回原来的主服务器时”究竟是什么意思,但看起来您在 PostgreSQL 流式复制中做了最错误的事情 - 引入了第二个主服务器。

关于 PostgreSQL 复制,你应该知道的最重要的一点是,一旦执行了故障转移,你不能简单地“切换回原来的 master”——现在集群中有一个新的 master,两个 master 的存在会造成损坏。

从奴隶晋升为主人后,您重新加入旧主人的唯一方法是:

  1. 销毁它(删除数据目录);
  2. 作为奴隶加入它。

如果您希望它再次成为主人,您将继续以下操作:

  1. 让它作为从机运行一段时间,以便同步数据;
  2. 杀死临时主节点并故障转移到旧主节点;
  3. 作为从属重新加入临时主控。

您不能简单地切换主服务器!只能通过故障转移创建主服务器(提升从服务器)

您还应该知道,无论何时执行故障转移(无论何时更改主服务器),都需要重新配置所有从服务器(升级的从服务器除外)以针对新的主服务器。

我建议你阅读this tutorial - 它会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-27
    • 1970-01-01
    • 1970-01-01
    • 2023-02-21
    • 1970-01-01
    • 2017-08-17
    相关资源
    最近更新 更多