# 检查点
 #### checkpoint_segments
**参数说明：** 设置[checkpoint_timeout]周期内所保留WAL日志文件的最大数量。每个日志文件大小为16MB。
**参数类型：**整型
**参数单位：**无
**取值范围**：1 \~ 2147483646
**默认值：**1024
**设置方式：** 该参数属于SIGHUP类型参数，请参见[表1](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/gaussdb-08-0752.html#ZH-CN_TOPIC_0000002793787853__zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**设置建议：** 推荐使用默认值。提升此参数可加快大数据的导入速度，但需要结合[checkpoint_timeout]、[shared_buffers](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/gaussdb-08-0761.html#ZH-CN_TOPIC_0000002793787487__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/distributed-ref-v10-gaussdb/gaussdb-08-0752.html#ZH-CN_TOPIC_0000002793787853__zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**设置建议：** 推荐使用默认值。在提升[checkpoint_segments]以加快大数据导入的场景也需将此参数调大，同时这两个参数提升会加大[shared_buffers](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/gaussdb-08-0761.html#ZH-CN_TOPIC_0000002793787487__zh-cn_topic_0059777577_s55a43fb6d0464430a59031671b37cd07)的负担，需要综合考虑。
**设置不当的风险与影响：**请在充分理解参数含义，并经过测试验证后进行修改。
#### checkpoint_completion_target
**参数说明：** 预计每个检查点执行完毕的时间与[checkpoint_timeout]的比值。
**参数类型：**浮点型
**参数单位：**无
**取值范围**：0.0 \~ 1.0
**默认值：**0.5
**设置方式：** 该参数属于SIGHUP类型参数，请参见[表1](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/gaussdb-08-0752.html#ZH-CN_TOPIC_0000002793787853__zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**设置建议：**推荐使用默认值。
**设置不当的风险与影响：**请在充分理解参数含义，并经过测试验证后进行修改。
#### checkpoint_warning
**参数说明：** 由于写检查点文件导致检查点发生的时间间隔小于此参数，就写入建议增加[checkpoint_segments]参数值的警告信息。
**参数类型：**整型
**参数单位：**s（秒）
**取值范围**：0 \~ 2147483647，其中0表示关闭警告。
**默认值：**300（5min）
**设置方式：** 该参数属于SIGHUP类型参数，请参见[表1](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/gaussdb-08-0752.html#ZH-CN_TOPIC_0000002793787853__zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**设置建议：**推荐使用默认值。
**设置不当的风险与影响：**请在充分理解参数含义，并经过测试验证后进行修改。
#### checkpoint_wait_timeout
**参数说明：**设置请求检查点等待checkpointer线程启动的最长时间。
**参数类型：**整型
**参数单位：**s（秒）
**取值范围**：2 \~ 3600
**默认值：**60（1min）
**设置方式：** 该参数属于SIGHUP类型参数，请参见[表1](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/gaussdb-08-0752.html#ZH-CN_TOPIC_0000002793787853__zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**设置建议：**推荐使用默认值。
**设置不当的风险与影响：**请在充分理解参数含义，并经过测试验证后进行修改。
 #### enable_incremental_checkpoint
**参数说明：**增量检查点开关。
**参数类型：**布尔型
**参数单位：**无
**取值范围**：
- on：表示开启增量检查点开关。
- off：表示关闭增量检查点开关。
**默认值：**on
**设置方式：** 该参数属于POSTMASTER类型参数，请参见[表1](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/gaussdb-08-0752.html#ZH-CN_TOPIC_0000002793787853__zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**设置建议：**在小内存或磁盘性能较差的环境建议关闭，其他场景建议按默认值打开。
**设置不当的风险与影响：**请在充分理解参数含义，并经过测试验证后进行修改。
![](https://support.huaweicloud.com/distributed-ref-v10-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/distributed-ref-v10-gaussdb/gaussdb-08-0769.html#ZH-CN_TOPIC_0000002764308758__zh-cn_topic_0059778393_scf91a0abd76640efb76b172daf9a5f38)防止半页写问题。
**参数类型：**布尔型
**参数单位：**无
**取值范围**：
- on：表示开启双写开关。
- off：表示关闭双写开关。
**默认值：**on
**设置方式：** 该参数属于POSTMASTER类型参数，请参见[表1](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/gaussdb-08-0752.html#ZH-CN_TOPIC_0000002793787853__zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**设置建议：**在增量检查点模式下设置为on。
**设置不当的风险与影响：**在增量检查点开关打开时，关闭该参数可能导致数据出现半页写，进而导致持久化数据不可用。
 #### incremental_checkpoint_timeout
**参数说明：** 开启增量检查点开关（[enable_incremental_checkpoint]）之后，设置自动检查点之间的最长时间。
**参数类型：**整型
**参数单位：**s（秒）
**取值范围**：1 \~ 3600
**默认值：**60
**设置方式：** 该参数属于SIGHUP类型参数，请参见[表1](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/gaussdb-08-0752.html#ZH-CN_TOPIC_0000002793787853__zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**设置建议：**推荐使用默认值。
**设置不当的风险与影响：**请在充分理解参数含义，并经过测试验证后进行修改。
 #### enable_xlog_prune
**参数说明：** 设置在任一备机断连时，主机是否根据Xlog日志的大小超过参数[max_size_for_xlog_prune]的值而回收日志。
**参数类型：**布尔型
**参数单位：**无
**取值范围**：
- on：如果任一备机断连，主机回收日志。
- off：如果任一备机断连，主机不回收日志。
**默认值：**on
**设置方式：** 该参数属于SIGHUP类型参数，请参见[表1](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/gaussdb-08-0752.html#ZH-CN_TOPIC_0000002793787853__zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**设置建议：**推荐使用默认值。
**设置不当的风险与影响：**请在充分理解参数含义，并经过测试验证后进行修改。
 #### max_size_for_xlog_prune
**参数说明：**控制触发Xlog回收时的强制回收量。
场景一：在备机故障时主机保留的Xlog最大数量。在[enable_xlog_prune]打开时生效，工作机制如下：
1. replconninfo系列GUC参数配置的所有备机都连接主机时，则该参数不生效。
2. replconninfo系列GUC参数配置的备机存在断连时，则该参数生效。当主机Xlog日志量大于该参数值，会强制回收。以下情况例外： 在同步提交模式下（即[synchronous_commit](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/gaussdb-08-0769.html#ZH-CN_TOPIC_0000002764308758__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/distributed-ref-v10-gaussdb/gaussdb-08-0752.html#ZH-CN_TOPIC_0000002793787853__zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。取值不带单位，则默认为kB；取值如果要带单位，必须为kB、MB、GB。
**设置建议：**根据磁盘可用空间大小设置，未开启PITR归档时建议最大设置值不超过256GB。
**设置不当的风险与影响：**请在充分理解参数含义，并经过测试验证后进行修改。
- 若参数设置过小，可能导致备机连接中断，或在备机完成build重新连接主机时，因无法持续从主机获取日志而触发新的build重建流程。
- 在开启PITR归档功能时，该参数设置较小有可能触发Xlog强制回收，导致后续XBSA归档失败。
- 若参数设置过大，在备机长期断连时可能导致磁盘空间膨胀。
 
#### max_redo_log_size
**参数说明：**对于备DN，此参数表示最新日志回放点到最新检查点位置之间日志量的期望值；对于主DN，此参数表示最新日志插入点到最新检查点位置之间日志量的期望值。该参数用来参与控制检查点刷页速度。
**参数类型：**整型
**参数单位：**kB
**取值范围**：163840 \~ 2147483647
**默认值：**‬1048576
**设置方式：** 该参数属于SIGHUP类型参数，请参见[表1](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/gaussdb-08-0752.html#ZH-CN_TOPIC_0000002793787853__zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**设置建议：**推荐使用默认值。关注RTO的情况下，这个值建议不宜过大。
**设置不当的风险与影响：**请在充分理解参数含义，并经过测试验证后进行修改。
#### checkpoint_lag_alarm_threshold
**参数说明：**控制"检查点推进恢复起始点的进度滞后"告警的触发阈值。
- 对于主实例，该阈值表示日志写入位置与恢复起始点之间的日志量差距。
- 对于备实例，该阈值表示日志回放位置与恢复起始点之间的日志量差距。
**参数类型：**整型
**参数单位：**GB
**取值范围**：-1 \~ 2000
- -1：表示按照CPU核数自动配置触发阈值（CPU核数\<16时为80GB；16≤核数\<128时为100GB；核数≥128时为128GB）。
- 0：表示关闭"检查点推进恢复起始点的进度滞后"告警。
- N（正整数）：表示触发阈值设置为N GB。
**默认值：**‬‬‬‬128（192核CPU/1536G内存，128核CPU/1024G内存）；100（104核CPU/1024G内存，96核CPU/1024G内存，96核CPU/768G内存，80核CPU/640G内存，80核CPU/512G内存，72核CPU/576G内存，64核CPU/512G内存，60核CPU/480G内存，32核CPU/256G内存，16核CPU/128G内存）；80（8核CPU/64G内存，4核CPU/32G内存，4核CPU/16G内存）
**设置方式：** 该参数属于SIGHUP类型参数，请参见[表1](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/gaussdb-08-0752.html#ZH-CN_TOPIC_0000002793787853__zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**设置建议：**推荐使用默认值。
**设置不当的风险与影响：**请在充分理解参数含义，并经过测试验证后进行修改。
