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

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

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

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

recovery_target_lsn

设置恢复所推进到的 WAL LSN。

Sets the LSN of the write-ahead log location up to which recovery will proceed.

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

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

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

版本轨迹

相对 PostgreSQL 17 无变化。

默认值变迁

空字符串 12 – 20

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

手册说明

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

此参数指定恢复将继续进行的预写日志位置的LSN。精确的停靠点也受 recovery_target_inclusive的影响。 使用系统数据类型pg_lsn解析此参数。

机制详解

设置恢复所推进到的 WAL LSN。该值在服务器启动时固定,修改后必须重启。

恢复推进到一个 pg_lsn 位置,并由 recovery_target_inclusive 选择边界哪一侧。该 LSN 必须位于所选恢复时间线上,且基础备份之后的 WAL 链能够到达。

recovery_target、recovery_target_lsn、recovery_target_name、recovery_target_time 与 recovery_target_xid 最多只能设置一个;timeline、inclusive 与 action 是修饰项。必须从同一基础备份沿完整 WAL 链演练,目标不可达会使目标恢复失败。

调优建议

按典型负载给出的取值思路,不是放之四海皆准的配方:实际取值要看数据量、并发度与硬件。

  • OLTP在线事务处理

    这不是常态性能参数。只在隔离的恢复实例中设置 recovery_target_lsn,先记录目标证据、基础备份、时间线和预期边界,再演练并由第二人复核。

  • OLAP分析与批处理

    大型恢复应先估算 WAL 重放时间与检查窗口;目标命中后用只读校验确认事实,不能用大查询拖住或污染恢复决策。

  • 小规格低配实例与开发机

    优先用备份工具生成受控恢复配置;不要在日常主库/备库模板中永久保留目标参数,恢复后清理 signal 文件与目标设置。

常见问题

  • 使用另一集群的 LSN,或使用不源自基础备份的时间线 LSN。
  • 同时设置另一个恢复目标选择器。
  • 未识别必须包含的 WAL 记录就选择 inclusive。
  • 请求超过归档/流式 WAL 可用范围的 LSN,形成不可达目标。
  • 把 LSN 当普通十进制数比较,而不是 pg_lsn 值。

演化历史

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

  1. PostgreSQL 20 ← 19 沿用 19

    事实沿用 19

  2. PostgreSQL 12 ← 11 新增此参数

    PostgreSQL 12 起可用

逐版本快照

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

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

参考资料

同类参数

参数 类型 上下文 默认值 版本变动 最近变更
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。 现存