检查点

checkpoint_segments

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

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

取值范围:整型,最小值1

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

默认值:64

checkpoint_timeout

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

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

取值范围:整型,30~3600(秒)

在提升checkpoint_segments以加快大数据导入的场景也需将此参数调大,同时这两个参数提升会加大shared_buffers的负担,需要综合考虑。

默认值:15min

checkpoint_completion_target

参数说明:指定检查点完成的目标。

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

取值范围:双精度浮点类型,0.0~1.0

默认值:0.5

检查点 - 图1 说明:
默认值0.5表示每个checkpoint需要在checkpoints间隔时间的50%内完成。

checkpoint_warning

参数说明:如果由于填充检查点段文件导致检查点发生的时间间隔接近这个参数表示的秒数,就向服务器日志发送一个建议增加checkpoint_segments值的消息。

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

取值范围:整型,0~INT_MAX(秒),其中0表示关闭警告。

默认值:5min

推荐值:5min

checkpoint_wait_timeout

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

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

取值范围:整型,2~3600(秒)

默认值:1min

enable_incremental_checkpoint

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

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

取值范围:布尔型

默认值:on

enable_double_write

参数说明:双写开关。当增量检查点开关打开时,同时enable_double_write打开,则使用enable_double_write双写特性保护,不再使用full_page_writes防止半页写问题。

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

取值范围:布尔型

默认值:on

incremental_checkpoint_timeout

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

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

取值范围:整型,1~3600(秒)

默认值:1min

enable_xlog_prune

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

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

取值范围:布尔型

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

默认值:on

max_redo_log_size

参数说明:备DN表示当前回放的最新检查点位置和当前日志回放位置之间日志量的期望值,主DN表示恢复点到当前最新日志之间日志量的期望值,关注RTO的情况下,这个值建议不宜过大。

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

取值范围:整型,163840~2147483647,单位为KB。

默认值:1GB

max_size_for_xlog_prune

参数说明:在enable_xlog_prune、synchronous_commit都打开时生效,如果有备机断连且xlog日志大小大于此阈值,则回收日志。所有备机断联且无逻辑复制槽时,不回收日志。

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

取值范围:整型,0~2147483647,单位为KB

默认值:2147483647,单位KB