CONFIGURATION PARAMETER预写式日志 / 恢复目标
recovery_target_timeline
指定要恢复到的时间线。
Specifies the timeline to recover into.
字符串 重启生效 引入 12 现存至 20 devel 0 次默认值变更
- 类型
- 字符串string
- 上下文
- 重启生效只能在服务器启动时设置,修改后需要重启
- 默认值
latest- 分类
- 预写式日志 / 恢复目标
- 引入版本
- 12
- 状态
- 现存
版本轨迹
相对 PostgreSQL 17 无变化。
默认值变迁
默认值自 PostgreSQL 12 起没有变过。带单位的取值换算成了可读形式,原始的 boot_val 与单位写在悬浮提示里。
手册说明
指定恢复到一个特定的时间线中。该值可以是数字时间线 ID 或特殊值。 值current沿着与执行基本备份时相同的时间线恢复。 值latest将恢复到归档中能找到的最新时间线,这在备库中很有用。 latest是默认值。
如果要以十六进制指定时间线 ID(例如从 WAL 文件名或历史文件中提取),请在前面加上 0x。例如,如果 WAL 文件名为 00000011000000A10000004F,那么时间线 ID 就是 0x11(十进制为 17)。
你通常只需要在复杂的再次恢复场景中设置此参数,也就是当你需要回到某个状态,而该状态本身又是在一次时间点恢复之后达到的。 相关讨论见Section 25.3.6。
机制详解
指定恢复要沿用的时间线历史。它是 postmaster 参数,只在本次恢复启动时读取。
latest 跟随归档中最新时间线,current 留在基础备份当时的时间线;显式十进制或带 0x 前缀的十六进制 ID 选择特定分支。时间线既可单独选择,也可与更早的停止目标组合。
所选时间线必须源自该基础备份,并且对应 history/WAL 文件可用。该参数只选择分支,不会自行选择事务边界或提升服务器。
调优建议
按典型负载给出的取值思路,不是放之四海皆准的配方:实际取值要看数据量、并发度与硬件。
-
OLTP在线事务处理
这不是常态性能参数。只在隔离的恢复实例中设置 recovery_target_timeline,先记录目标证据、基础备份、时间线和预期边界,再演练并由第二人复核。
-
OLAP分析与批处理
大型恢复应先估算 WAL 重放时间与检查窗口;目标命中后用只读校验确认事实,不能用大查询拖住或污染恢复决策。
-
小规格低配实例与开发机
优先用备份工具生成受控恢复配置;不要在日常主库/备库模板中永久保留目标参数,恢复后清理 signal 文件与目标设置。
常见问题
- 需要沿旧分支重新恢复时仍使用 latest。
- 所需 WAL 只在后代时间线时仍使用 current。
- 选择不源自基础备份的时间线。
- 未保留时间线 history 文件与对应 WAL。
- 把时间线选择误当成停止目标或提升命令。
演化历史
相邻两个大版本之间的差异,新的在前。版本号链到该版的快照。
-
PostgreSQL 20 ← 19 沿用 19
事实沿用 19
-
PostgreSQL 12 ← 11 新增此参数
PostgreSQL 12 起可用
逐版本快照
每个收录版本里的 7 项事实,与上一个存在的版本不同的格子带底色。版本号链到该版。
参考资料
同类参数
| 参数 | 类型 | 上下文 | 默认值 | 版本变动 | 最近变更 |
|---|---|---|---|---|---|
| 恢复目标 8 | |||||
recovery_target |
字符串 | 重启生效 | 空字符串 |
— | |
| 设为 immediate,使恢复在首次达到一致状态时结束。 | 现存 | ||||
recovery_target_action |
枚举 | 重启生效 | pause |
— | |
| 设置到达恢复目标后执行的动作。 | 现存 | ||||
recovery_target_inclusive |
布尔 | 重启生效 | on |
— | |
| 设置是否包含恢复目标所对应的事务。 | 现存 | ||||
recovery_target_lsn |
字符串 | 重启生效 | 空字符串 |
— | |
| 设置恢复所推进到的 WAL LSN。 | 现存 | ||||
recovery_target_name |
字符串 | 重启生效 | 空字符串 |
— | |
| 设置恢复所推进到的命名还原点。 | 现存 | ||||
recovery_target_time |
字符串 | 重启生效 | 空字符串 |
— | |
| 设置恢复所推进到的时间戳。 | 现存 | ||||
recovery_target_timeline |
字符串 | 重启生效 | latest |
— | |
| 指定要恢复到的时间线。 | 现存 | ||||
recovery_target_xid |
字符串 | 重启生效 | 空字符串 |
— | |
| 设置恢复所推进到的事务 ID。 | 现存 | ||||