
# 检查点
 #### checkpoint_segments
**参数说明：** 设置[checkpoint_timeout]周期内所保留WAL日志文件的最大数量。每个日志文件大小为16MB。
**参数类型：**整型
**参数单位：**无
**取值范围**：1 \~ 2147483646
**默认值：**1024
**设置方式：** 该参数属于SIGHUP类型参数，请参考[表1](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-40-0315.html#ZH-CN_TOPIC_0000002527988878__zh-cn_topic_0000002527058484_zh-cn_topic_0000002372412413_zh-cn_topic_0283137176_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**设置建议：** 推荐使用默认值。提升此参数可加快大数据的导入速度，但需要结合[checkpoint_timeout]、[shared_buffers](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-40-0324.html#ZH-CN_TOPIC_0000002558948753__zh-cn_topic_0000002527058222_zh-cn_topic_0000002372332765_zh-cn_topic_0283136786_zh-cn_topic_0237124699_zh-cn_topic_0059777577_s55a43fb6d0464430a59031671b37cd07)这两个参数统一考虑。这个参数同时影响WAL日志文件复用数量，通常情况下pg_xlog文件夹下最大的复用文件数量为checkpoint_segments的2倍，复用的文件被改名为后续即将使用的WAL日志文件，不会被删除。
**设置不当的风险与影响：**该参数设置过小会导致频繁触发checkpoint；设置过大可能会增大RTO，且会导致WAL日志保留的文件数量增多，增大占用磁盘空间。
 #### checkpoint_timeout
**参数说明：**设置自动检查点之间的最长时间。
**参数类型：**整型
**参数单位：**s（秒）
**取值范围**：30～3600
**默认值：**900（即15min）
**设置方式：** 该参数属于SIGHUP类型参数，请参考[表1](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-40-0315.html#ZH-CN_TOPIC_0000002527988878__zh-cn_topic_0000002527058484_zh-cn_topic_0000002372412413_zh-cn_topic_0283137176_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**设置建议：** 推荐使用默认值。在提升[checkpoint_segments]以加快大数据导入的场景也需将此参数调大，同时这两个参数提升会加大[shared_buffers](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-40-0324.html#ZH-CN_TOPIC_0000002558948753__zh-cn_topic_0000002527058222_zh-cn_topic_0000002372332765_zh-cn_topic_0283136786_zh-cn_topic_0237124699_zh-cn_topic_0059777577_s55a43fb6d0464430a59031671b37cd07)的负担，需要综合考虑。
**设置不当的风险与影响：**请在充分理解参数含义，并经过测试验证后进行修改。
#### checkpoint_completion_target
**参数说明：** 预计每个检查点执行完毕的时间与[checkpoint_timeout]的比值。
**参数类型：**浮点类型
**参数单位：**无
**取值范围**：0.0～1.0
**默认值：**0.5
**设置方式：** 该参数属于SIGHUP类型参数，请参考[表1](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-40-0315.html#ZH-CN_TOPIC_0000002527988878__zh-cn_topic_0000002527058484_zh-cn_topic_0000002372412413_zh-cn_topic_0283137176_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**设置建议：**推荐使用默认值。
**设置不当的风险与影响：**请在充分理解参数含义，并经过测试验证后进行修改。
#### checkpoint_warning
**参数说明：** 由于写检查点文件导致检查点发生的时间间隔小于此参数，就写入建议增加[checkpoint_segments]值的警告信息。
**参数类型：**整型
**参数单位：**s（秒）
**取值范围**：0 \~ 2147483647，其中0表示关闭警告。
**默认值：**300
**设置方式：** 该参数属于SIGHUP类型参数，请参考[表1](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-40-0315.html#ZH-CN_TOPIC_0000002527988878__zh-cn_topic_0000002527058484_zh-cn_topic_0000002372412413_zh-cn_topic_0283137176_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**设置建议：**推荐使用默认值。
**设置不当的风险与影响：**请在充分理解参数含义，并经过测试验证后进行修改。
#### checkpoint_wait_timeout
**参数说明：**设置请求检查点等待checkpointer线程启动的最长时间。
**参数类型：**整型
**参数单位：**s（秒）
**取值范围**：2 ～ 3600
**默认值：**1min
**设置方式：** 该参数属于SIGHUP类型参数，请参考[表1](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-40-0315.html#ZH-CN_TOPIC_0000002527988878__zh-cn_topic_0000002527058484_zh-cn_topic_0000002372412413_zh-cn_topic_0283137176_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**设置建议：**推荐使用默认值。
**设置不当的风险与影响：**请在充分理解参数含义，并经过测试验证后进行修改。
 #### enable_incremental_checkpoint
**参数说明：**增量检查点开关。多租数据库特性（enable_mtd）需要开启该参数。
**参数类型：**布尔型
**参数单位：**无
**取值范围**：
- on：表示开启增量检查点开关。
- off：表示关闭增量检查点开关。
**默认值：**on
**设置方式：** 该参数属于POSTMASTER类型参数，请参考[表1](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-40-0315.html#ZH-CN_TOPIC_0000002527988878__zh-cn_topic_0000002527058484_zh-cn_topic_0000002372412413_zh-cn_topic_0283137176_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**设置建议：**在小内存或磁盘性能较差的环境建议关闭，其他场景建议按默认值打开。
**设置不当的风险与影响：**请在充分理解参数含义，并经过测试验证后进行修改。
![](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
当enable_incremental_checkpoint关闭后手动执行checkpoint，会使用full_page_writes生成第一条xLog，触发备份恢复时可能会产生"xlog contains no data"字样的日志。
#### enable_double_write
**参数说明：** 双写特性开关。当[enable_incremental_checkpoint]增量检查点开关打开时，同时enable_double_write打开，则使用enable_double_write双写特性保护，不再使用[full_page_writes](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-40-0332.html#ZH-CN_TOPIC_0000002558948759__zh-cn_topic_0000002558218083_zh-cn_topic_0000002338374292_zh-cn_topic_0283137354_zh-cn_topic_0237124707_zh-cn_topic_0059778393_scf91a0abd76640efb76b172daf9a5f38)防止半页写问题。
**参数类型：**布尔型
**参数单位：**无
**取值范围**：
- on：表示开启双写开关。
- off：表示关闭双写开关。
**默认值：**on
**设置方式：** 该参数属于POSTMASTER类型参数，请参考[表1](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-40-0315.html#ZH-CN_TOPIC_0000002527988878__zh-cn_topic_0000002527058484_zh-cn_topic_0000002372412413_zh-cn_topic_0283137176_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**设置建议：**在增量检查点模式下设置为on。
**设置不当的风险与影响：**在增量检查点开关打开时，关闭该参数可能导致数据出现半页写，进而导致持久化数据不可用。
#### incremental_checkpoint_timeout
**参数说明：** 开启增量检查点开关（[enable_incremental_checkpoint]）之后，设置自动检查点之间的最长时间。
**参数类型：**整型
**参数单位：**s（秒）
**取值范围**：1 \~ 3600
**默认值：**60
**设置方式：** 该参数属于SIGHUP类型参数，请参考[表1](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-40-0315.html#ZH-CN_TOPIC_0000002527988878__zh-cn_topic_0000002527058484_zh-cn_topic_0000002372412413_zh-cn_topic_0283137176_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**设置建议：**推荐使用默认值。
**设置不当的风险与影响：**请在充分理解参数含义，并经过测试验证后进行修改。
 #### enable_xlog_prune
**参数说明：** 设置在任一备机断连时，主机是否根据xlog日志的大小超过参数[max_size_for_xlog_prune]的值而回收日志。
**参数类型：**布尔型
**参数单位：**无
**取值范围**：
- 设置为on时，如果任一备机断连，主机回收日志。
- 设置为off时，如果任一备机断连，主机不回收日志。
**默认值：**on
**设置方式：** 该参数属于SIGHUP类型参数，请参考[表1](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-40-0315.html#ZH-CN_TOPIC_0000002527988878__zh-cn_topic_0000002527058484_zh-cn_topic_0000002372412413_zh-cn_topic_0283137176_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**设置建议：**推荐使用默认值。
**设置不当的风险与影响：**请在充分理解参数含义，并经过测试验证后进行修改。
 #### max_size_for_xlog_prune
**参数说明：**
场景一：在备机故障时主机保留的xlog最大数量。在[enable_xlog_prune]打开时生效，工作机制如下：
1. replconninfo系列guc参数配置的所有备机都连接主机时，则该参数不生效。
2. replconninfo系列guc参数配置的备机存在断连时，则该参数生效。当主机xlog日志量大于该参数值，会强制回收。例外：在同步提交模式下（即[synchronous_commit](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-40-0332.html#ZH-CN_TOPIC_0000002558948759__zh-cn_topic_0000002558218083_zh-cn_topic_0000002338374292_zh-cn_topic_0283137354_zh-cn_topic_0237124707_zh-cn_topic_0059778393_sc39a5bd106204166ba4660306d302239)参数不是local/off时），如果存在连接中的备机，则主机会考虑保留多数派备机中最小日志接受位置以后的日志，这种情况下，保留的日志可能多于max_size_for_xlog_prune参数值。
3. 若存在build中的备机，则该参数不生效，主机日志会全量保留，防止build操作期间由于日志被回收引发的失败。
 
场景二：在开启PITR归档功能时保留归档xlog的最大数量，当归档xlog长时间未上传导致本地保留的xlog超过该参数大小时强制回收。此场景不要求[enable_xlog_prune]打开。
**参数类型**：整型
**参数单位：**kB
**取值范围**：0～2199023255551
**默认值：**256GB
**设置方式：** 该参数属于SIGHUP类型参数，请参考[表1](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-40-0315.html#ZH-CN_TOPIC_0000002527988878__zh-cn_topic_0000002527058484_zh-cn_topic_0000002372412413_zh-cn_topic_0283137176_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。取值不带单位，则默认为kB；取值如果要带单位，必须为kB、MB、GB。
**设置建议：**磁盘小的情况，该参数建议设置小，最大设为256GB。
**设置不当的风险与影响：**该参数用于控制触发Xlog回收时的强制回收量。如果参数设置过小，可能导致备机连接中断，或在备机完成build重新连接主机时，因无法持续从主机获取日志而触发新的build重建流程；如果参数设置过大，在备机长期断连时可能导致磁盘空间膨胀。请在充分理解参数含义，并经过环境验证后进行修改。
#### max_redo_log_size
**参数说明：**备DN表示最新日志回放点到最新检查点位置之间日志量的期望值，主DN表示最新日志插入点到最新检查点位置之间日志量的期望值。该参数被用来参与控制检查点刷页速度。
**参数类型：**整型
**参数单位：**kB
**取值范围**：163840～2147483647
**默认值：**‬1048576
**设置方式：** 该参数属于SIGHUP类型参数，请参考[表1](https://support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-40-0315.html#ZH-CN_TOPIC_0000002527988878__zh-cn_topic_0000002527058484_zh-cn_topic_0000002372412413_zh-cn_topic_0283137176_zh-cn_topic_0237121562_zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**设置建议：**推荐使用默认值。关注RTO的情况下，这个值建议不宜过大。
**设置不当的风险与影响：**请在充分理解参数含义，并经过测试验证后进行修改。
