pg_rewind:源集群和目标集群在同一时间线上
pg_rewind: source and target cluster are on the same timeline
我尝试通过以下命令使用 pg_rewind
在 source/target
集群之间进行同步。
而且我 100% 知道 source/target
簇中的内容不再相同。
/usr/pgsql-12/bin/pg_rewind --source-server="192.168.100.100 user=postgres password=mypassword" -D /var/lib/pgsql/12/data --progress
但 pg_rewind
给出以下消息
pg_rewind: source and target cluster are on the same timeline
pg_rewind: no rewind required
我不明白 pg_wal
和 base
目录的内容在 source/target
之间有何不同,但 pg_rewind
没有意识到!!
pg_rewind
仅撤销目标服务器上晚于最新公共检查点的数据修改。
在最新的公共检查点之后在源服务器上发生的修改将被忽略——当目标服务器成为源服务器的备用服务器时,无论如何都会恢复这些修改。
所以目标服务器可能在源服务器升级之前就被彻底关闭了。
关于时间线的消息纯属巧合,并非第二条消息的原因。
我尝试通过以下命令使用 pg_rewind
在 source/target
集群之间进行同步。
而且我 100% 知道 source/target
簇中的内容不再相同。
/usr/pgsql-12/bin/pg_rewind --source-server="192.168.100.100 user=postgres password=mypassword" -D /var/lib/pgsql/12/data --progress
但 pg_rewind
给出以下消息
pg_rewind: source and target cluster are on the same timeline
pg_rewind: no rewind required
我不明白 pg_wal
和 base
目录的内容在 source/target
之间有何不同,但 pg_rewind
没有意识到!!
pg_rewind
仅撤销目标服务器上晚于最新公共检查点的数据修改。
在最新的公共检查点之后在源服务器上发生的修改将被忽略——当目标服务器成为源服务器的备用服务器时,无论如何都会恢复这些修改。
所以目标服务器可能在源服务器升级之前就被彻底关闭了。
关于时间线的消息纯属巧合,并非第二条消息的原因。