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) - 选项
-c/--restore-target-wal用于使用目标服务器的 restore_command 来检索所需的 WAL (提交 a7e8ece4) - 现在将在重做之前自动运行崩溃恢复,选项
--no-ensure-shutdown可以禁用此功能 (提交 5adafaf1)
- 添加了选项
- PostgreSQL 12
- 添加了选项
-N/--no-sync(提交 8a00b96a)
- 添加了选项
- PostgreSQL 11
- 从源服务器复制时,省略
pg_basebackup会省略的相同文件和目录 (提交 266b6acb) - 不再能够以系统
root用户身份执行 (提交 5d5aedda)
- 从源服务器复制时,省略
- PostgreSQL 9.6
- 支持与较低的目标时间线进行重新同步 (提交 e50cda78)
- PostgreSQL 9.5
- 已添加 (提交 61081e75)
有用链接
- PostgreSQL 13 中的 pg_rewind 更改 - 2020 年 10 月 Ian Barwick 的博客文章
- 回到未来第一部分:pg_rewind 简介 - 2016 年 9 月 2ndQuadrant 的博客文章]
