pg_rewind
是一个用于同步两个 PostgreSQL 实例的 服务器实用程序.
pg_rewind
在 PostgreSQL 9.5 中作为核心服务器实用程序添加;在此之前,它是一个可用于 PostgreSQL 9.3 和 PostgreSQL 9.4 的外部托管项目。
用法
先决条件
为了正常运行,pg_rewind
要求
full_page_writes
设置为:on
(默认值)
以及以下设置之一(或两者)已启用
数据页校验和
在集群上已启用wal_log_hints
设置为:on
(默认值为:off
)
变更历史
- PostgreSQL 17
- 添加选项
--sync-method
(提交 8c16ad3b)
- 添加选项
- PostgreSQL 16
- 服务器提升后修复 TLI 确定问题(009eeee7)
- PostgreSQL 15
- 添加选项
--config-file
(提交 0d5c3875)
- 添加选项
- PostgreSQL 13
- 添加选项
--write-recovery-conf
(提交 927474ce) - 使用目标服务器的 restore_command 获取所需 WAL 的选项
-c
/--restore-target-wal
(提交 a7e8ece4) - 崩溃恢复现在将在回滚之前自动运行,选项
--no-ensure-shutdown
可以禁用此功能(提交 5adafaf1)
- 添加选项
- PostgreSQL 12
- 添加选项
-N
/--no-sync
(提交 8a00b96a)
- 添加选项
- PostgreSQL 11
- 从源服务器复制时,省略
pg_basebackup
省略的相同文件和目录(提交 266b6acb) - 不再能以系统
root
用户身份执行(提交 5d5aedda)
- 从源服务器复制时,省略
- PostgreSQL 9.6
- 支持与较低的 target timeline 同步(提交 e50cda78)
- PostgreSQL 9.5
- 添加(提交 61081e75)
有用链接
- PostgreSQL 13 中的 pg_rewind 变化 - 2020 年 10 月的 Ian Barwick 博客文章
- 回到未来第 1 部分:pg_rewind 简介 - 2016 年 9 月的 2ndQuadrant 博客文章]