pg_rewind 实践教程
pg_rewind 是 PostgreSQL 提供的一个工具,用于在数据库集群发生分叉(例如主备切换后)时,将一个节点的数据目录与另一个节点的数据目录同步。它通过比较两个节点的 WAL 日志历史,找到最后一个共同点,并将目标节点的数据目录回滚到该点,然后从源节点复制差异数据。
实验环境
主库:
192.168.56.5
(m1)备库:
192.168.56.25
(m7)PostgreSQL 版本:10.7
流复制:已配置
实验步骤
1. 初始状态
-
操作:在主库
m1
上创建测试表并插入数据。 -
结果:
-
操作:在备库
m7
上验证数据是否复制成功。 -
结果:
2. 提升备库为新主库
-
操作:在备库
m7
上执行提升操作。 -
结果:
-
操作:验证备库是否已提升为主库。
-
结果:
3. 模拟主备数据不一致
-
操作:在原主库
m1
上插入一条记录。 -
结果:
-
操作:在新主库
m7
上插入一条记录。 -
结果:
4. 将原主库变为新主库的备库
-
操作:停止原主库
m1
的 PostgreSQL 服务。 结果:服务停止成功。
-
操作:配置流复制文件
recovery.conf
。 -
结果:
-
操作:启动原主库
m1
。
当前内容为付费内容
评论