1

我想在云环境中构建一个 Postgresql 集群(是的,我知道这是个坏主意……但这不是问题)。为了您的信息,我使用了 Dockerized Postgresql(参见:https ://github.com/paunin/postgres-docker-cluster ),但这不是问题,也不是问题。

所以我安装了 2 个带有流复制的 Postgresql 9.5。在每台主机上,我都安装并正确配置了 repmgr 3.2.1。

以下案例有一些问题:

  1. 阻止主人,
  2. 等待从属设备上的故障转移 -> 好的,
  3. 重新启动旧主机 -> Ko 我在集群中显示了 2 个主机,但repmgr cluster show我没有找到任何解决方案来强制旧主机成为从机。

我发现的唯一丑陋的解决方案是删除旧master的所有数据并重新启动它。这样做,它按预期变成了奴隶(但需要完全重新同步......)。

请注意,似乎无法强迫旧主人成为奴隶。repmgr standby register不要像它说的那样工作:

[2016-12-06 15:04:04] [INFO] connecting to standby database
[2016-12-06 15:04:04] [ERROR] this node should be a standby (user=replication_user password=replication_pass host=psg-host21 dbname=replication_db port=5432 connect_timeout=2)
[2016-12-06 15:04:04] [INFO] connecting to database
    Role      | Name       | Upstream   | Connection String
    ----------+------------|------------|------------------------------------------------------------------------------------------------------------------
    * master  | psg-host21 |            | user=replication_user password=replication_pass host=psg-host21 dbname=replication_db port=5432 connect_timeout=2
    * master  | psg-host22 | psg-host21 | user=replication_user password=replication_pass host=psg-host22 dbname=replication_db port=5432 connect_timeout=2

任何帮助将不胜感激。

4

1 回答 1

2

如果需要repmgr管理的高可用Postgres集群,可以使用pg-dock

这是使用 repmgr 对 Postgres 集群进行 dockerizing 的工具。

于 2017-08-02T13:01:33.083 回答