1

执行故障转移后,我之前的主节点关闭,而旧的备用节点成为主节点,正如预期的那样。

$  repmgr -f /etc/repmgr.conf cluster show --compact
ID | Name            | Role    | Status    | Upstream | Location | Prio. | TLI

----+-----------------+---------+-----------+----------+----------+-------+-----

1  | server1         | primary | - failed  |          | default  | 100   | ?

2  | server2         | primary | * running |          | default  | 100   | 2

3  | PG-Node-Witness | witness | * running | server2  | default  | 0     | 1

我想让旧的主节点作为备用节点加入集群。

我收集重新加入命令应该这样做。

但是,当我尝试重新加入它,成为新的备用服务器时,我得到了这个(我在旧的主节点上运行它):

repmgr -f /etc/repmgr.conf -d 'host=10.9.7.97 user=repmgr dbname=repmgr' node rejoin 

--其中 10.9.7.97 是我正在运行的节点的 ip。

我收到此错误:

$ repmgr -f /etc/repmgr.conf -d 'host=10.97.7.97 user=repmgr dbname=repmgr' node rejoin  --verbose -
NOTICE: using provided configuration file "/etc/repmgr.conf"
ERROR: connection to database failed
DETAIL:
could not connect to server: Connection refused
        Is the server running on host "10.97.7.97" and accepting
        TCP/IP connections on port 5432?

当然 postgres 在 10.9.7.97 - 旧的主要版本上失败了。

但是,如果我启动它,它将作为另一个主要启动:

$  repmgr -f /etc/repmgr.conf cluster show --compact

 ID | Name            | Role    | Status    | Upstream | Location | Prio. | TLI

----+-----------------+---------+-----------+----------+----------+-------+-----

 1  | server1         | primary | ! running |          | default  | 100   | 1

 2  | server2         | primary | * running |          | default  | 100   | 2

 3  | PG-Node-Witness | witness | * running | server2  | default  | 0     | 1
  • 那么让旧的主数据库成为新的备用数据库的方法是什么......?

谢谢

4

1 回答 1

0

显然

-d 'host=

在rejoin 命令中,应该指定当前的Primary(前一个standby)。

于 2020-07-06T06:40:57.050 回答