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

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

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

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

recovery_target_inclusive

设置是否包含恢复目标所对应的事务。

Sets whether to include or exclude transaction with recovery target.

布尔 重启生效 引入 12 现存至 20 devel 0 次默认值变更

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

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

版本轨迹

相对 PostgreSQL 17 无变化。

默认值变迁

on 12 – 20

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

手册说明

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

指定我们是否仅在指定的恢复目标之后停止(on),或者仅在恢复目标之前停止(off)。 适用于recovery_target_lsnrecovery_target_time或者recovery_target_xid被指定的情况。 这个设置分别控制事务是否有准确的目标WAL位置(LSN)、提交时间或事务ID将被包括在该恢复中。默认值为on

机制详解

选择精确恢复边界的哪一侧被保留。它是 postmaster 参数,在目标恢复启动时读取。

on 在目标之后停止并包含目标 LSN、提交时间或 XID;off 在目标之前停止并排除它。该设置只适用于 recovery_target_lsn、recovery_target_time 与 recovery_target_xid。

它对 immediate 或命名还原点目标无效。应依据已识别的 WAL/业务证据选择边界,并验证恢复后的行与事务,而不只查看显示的时间戳或 LSN。

调优建议

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

  • OLTP在线事务处理

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

  • OLAP分析与批处理

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

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

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

常见问题

  • 期待它影响 immediate 或命名还原点目标。
  • 未识别准确边界事务或 WAL 记录就选择 on/off。
  • 误以为相同时间戳对应唯一确定的提交边界。
  • 只验证报告的重放位置,而不验证恢复后的应用数据。
  • 把该值留在复用恢复模板中,却未记录预期边界侧。

演化历史

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

  1. PostgreSQL 20 ← 19 沿用 19

    事实沿用 19

  2. PostgreSQL 12 ← 11 新增此参数

    PostgreSQL 12 起可用

逐版本快照

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

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

参考资料

同类参数

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