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更改 - Ian Barwick于2020年10月的博文
- 回到未来第1部分:pg_rewind简介 - 2ndQuadrant于2016年9月的博文]