gpt4 book ai didi

postgresql - pg_rewind 无法同步第二个数据库

转载 作者:行者123 更新时间:2023-11-29 14:27:51 25 4
gpt4 key购买 nike

我有一个 PostgreSQL 集群,其中包含以下数据库,用户 myuser:

  1. 数据库1
  2. 数据库2

我已经设置了一个主服务器 (192.168.50.8) 和一个从服务器 (192.168.50.9) 的复制。我故障转移到从服务器,当我尝试对每个数据库使用 pg_rewind 故障回复到原始主服务器时,第一个数据库的 pg_rewind 成功但第二个数据库失败。

对于数据库 1,在 (192.168.50.8) 上运行以下命令有效:

/usr/pgsql-11/bin/pg_rewind -D "data_dir_path_here" --source-server="port=pg_port_here user=myuser dbname=database1 host=192.168.50.9"

对于 database2,在 (192.168.50.8) 上运行以下命令会出现错误:

/usr/pgsql-11/bin/pg_rewind -D "data_dir_path_here" --source-server="port=pg_port_here user=myuser dbname=database2 host=192.168.50.9"

错误:

target server must be shut down cleanly
failure, exiting

最佳答案

你使用 pg_rewind 和老主人 (192.168.50.8) 把它变成奴隶。如果关闭不干净,您必须在 PostgreSQL 上运行崩溃恢复(只要启动服务器并在崩溃恢复完成后立即再次停止它)。然后你可以运行 pg_rewind

pg_rewind 影响整个数据库集群,因此您不要为每个数据库运行它。您在应该成为新奴隶的旧主人上运行一次。

如果您使用pg_rewind--source-server 选项连接到新的master,您指定哪个数据库并不重要。任何数据库都行,效果都一样。

关于postgresql - pg_rewind 无法同步第二个数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55877384/

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