选择 打开 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

文档 / 配置参数 / 预写式日志

CONFIGURATION PARAMETER预写式日志 / 恢复目标

recovery_target_timeline

指定要恢复到的时间线。

Specifies the timeline to recover into.

字符串 重启生效 引入 12 现存至 20 devel 0 次默认值变更

类型
字符串string
上下文
重启生效只能在服务器启动时设置,修改后需要重启
默认值
latest
引入版本
12
状态
现存

PostgreSQL 18 手册 官方文档 引入提交 2dedf4d9a8

版本轨迹

相对 PostgreSQL 17 无变化。

默认值变迁

latest 12 – 20

默认值自 PostgreSQL 12 起没有变过。带单位的取值换算成了可读形式,原始的 boot_val 与单位写在悬浮提示里。

手册说明

PostgreSQL 18 手册 · 19.5 预写式日志 本站手册 官方原文

指定恢复到一个特定的时间线中。该值可以是数字时间线 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。
  • 把时间线选择误当成停止目标或提升命令。

演化历史

相邻两个大版本之间的差异,新的在前。版本号链到该版的快照。

  1. PostgreSQL 20 ← 19 沿用 19

    事实沿用 19

  2. PostgreSQL 12 ← 11 新增此参数

    PostgreSQL 12 起可用

逐版本快照

每个收录版本里的 7 项事实,与上一个存在的版本不同的格子带底色。版本号链到该版。

版本 默认值单位上下文类型最小值最大值枚举值
12 latest 重启生效 字符串
13 latest 重启生效 字符串
14 latest 重启生效 字符串
15 latest 重启生效 字符串
16 latest 重启生效 字符串
17 latest 重启生效 字符串
18 latest 重启生效 字符串
19 latest 重启生效 字符串
20 沿用 latest 重启生效 字符串

参考资料

同类参数

参数 类型 上下文 默认值 版本变动 最近变更
Write-Ahead Log 预写式日志 8 个
恢复目标 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。 现存