更新时间:2024-11-12 GMT+08:00
分享

检查点

checkpoint_segments

参数说明:设置checkpoint_timeout周期内所保留WAL日志文件的最大数量。每个日志文件大小为16MB。

参数类型:整型

参数单位:

取值范围:1~2147483646

默认值:1024

设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。

设置建议:推荐使用默认值。提升此参数可加快大数据的导入速度,但需要结合checkpoint_timeoutshared_buffers这两个参数统一考虑。这个参数同时影响WAL日志文件复用数量,通常情况下pg_xlog文件夹下最大的复用文件数量为checkpoint_segments的2倍,复用的文件被改名为后续即将使用的WAL日志文件,不会被删除。

设置不当的风险与影响:该参数设置过小会导致频繁触发checkpoint;设置过大可能会增大RTO,且会导致WAL日志保留的文件数量增多,增大占用磁盘空间。

checkpoint_timeout

参数说明:设置自动检查点之间的最长时间。

参数类型:整型

参数单位:s(秒)

取值范围:30~3600

默认值:900(即15min)

设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。

设置建议:推荐使用默认值。在提升checkpoint_segments以加快大数据导入的场景也需将此参数调大,同时这两个参数提升会加大shared_buffers的负担,需要综合考虑。

设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。

checkpoint_completion_target

参数说明:预计每个检查点执行完毕的时间与checkpoint_timeout的比值。

参数类型:浮点类型

参数单位:

取值范围:0.0~1.0

默认值:0.5

设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。

设置建议:推荐使用默认值。

设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。

checkpoint_warning

参数说明:由于写检查点文件导致检查点发生的时间间隔小于此参数,就写入建议增加checkpoint_segments值的警告信息。

参数类型:整型

参数单位:s(秒)

取值范围:0~2147483647,其中0表示关闭警告。

默认值:300

设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。

设置建议:推荐使用默认值。

设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。

checkpoint_wait_timeout

参数说明:设置请求检查点等待checkpointer线程启动的最长时间。

参数类型:整型

参数单位:s(秒)

取值范围:2~3600

默认值:1min

设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。

设置建议:推荐使用默认值。

设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。

enable_incremental_checkpoint

参数说明:增量检查点开关。

参数类型:布尔型

参数单位:

取值范围

  • on:表示开启增量检查点开关。
  • off:表示关闭增量检查点开关。

默认值:on

设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。

设置建议:在小内存或磁盘性能较差的环境建议关闭,其他场景建议按默认值打开。

设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。

当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防止半页写问题。

参数类型:布尔型

参数单位:

取值范围

  • on:表示开启双写开关。
  • off:表示关闭双写开关。

默认值:on

设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。

设置建议:在增量检查点模式下设置为on。

设置不当的风险与影响:在增量检查点开关打开时,关闭该参数可能导致数据出现半页写,进而导致持久化数据不可用。

incremental_checkpoint_timeout

参数说明:开启增量检查点开关(enable_incremental_checkpoint)之后,设置自动检查点之间的最长时间。

参数类型:整型

参数单位:s(秒)

取值范围:1~3600

默认值:60

设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。

设置建议:推荐使用默认值。

设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。

enable_xlog_prune

参数说明:设置在任一备机断连时,主机是否根据xlog日志的大小超过参数max_size_for_xlog_prune的值而回收日志。

参数类型:布尔型

参数单位:

取值范围

  • 设置为on时,如果任一备机断连,主机回收日志。
  • 设置为off时,如果任一备机断连,主机不回收日志。

默认值:on

设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。

设置建议:推荐使用默认值。

设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。

max_size_for_xlog_prune

参数说明:在备机故障时主机保留的xlog最大数量。在enable_xlog_prune打开时生效,工作机制如下:
  1. replconninfo系列guc参数配置的所有备机都连接主机时,则该参数不生效。
  2. replconninfo系列guc参数配置的备机存在断连时,则该参数生效。当主机xlog日志量大于该参数值,会强制回收。例外:在同步提交模式下(即synchronous_commit参数不是local/off时),如果存在连接中的备机,则主机会考虑保留多数派备机中最小日志接受位置以后的日志,这种情况下,保留的日志可能多于max_size_for_xlog_prune参数值。
  3. 若存在build中的备机,则该参数不生效,主机日志会全量保留,防止build操作期间由于日志被回收引发的失败。

参数类型:整型

参数单位:kB

取值范围:0~2147483647

默认值:256GB

设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。取值不带单位,则默认为kB;取值如果要带单位,必须为kB、MB、GB。

设置建议:磁盘小的情况,该参数建议设置小,最大设为256GB。

设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。

max_redo_log_size

参数说明:备DN表示最新日志回放点到最新检查点位置之间日志量的期望值,主DN表示最新日志插入点到最新检查点位置之间日志量的期望值。该参数被用来参与控制检查点刷页速度。

参数类型:整型

参数单位:kB

取值范围:163840~2147483647

默认值:‬1048576

设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。

设置建议:推荐使用默认值。关注RTO的情况下,这个值建议不宜过大。

设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。

相关文档