检查点
checkpoint_segments
参数说明:设置checkpoint_timeout周期内所保留的最少WAL日志段文件数量。每个日志文件大小为16MB。
该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。
取值范围:整型,最小值1
提升此参数可加快大数据的导入速度,但需要结合checkpoint_timeout、shared_buffers这两个参数统一考虑。这个参数同时影响WAL日志段文件复用数量,通常情况下pg_xlog文件夹下最大的复用文件个数为2倍的checkpoint_segments个,复用的文件被改名为后续即将使用的WAL日志段文件,不会被真正删除。
默认值:1024
checkpoint_timeout
参数说明:设置自动WAL检查点之间的最长时间。
该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。
取值范围:整型, 30~3600(秒)
在提升checkpoint_segments以加快大数据导入的场景也需将此参数调大,同时这两个参数提升会加大shared_buffers的负担,需要综合考虑。
默认值:15min
checkpoint_completion_target
参数说明:指定检查点完成的目标。
该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。
取值范围:双精度浮点类型,0.0~1.0
默认值:0.5
默认值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_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_size_for_xlog_prune
- 如果replconninfo系列guc参数配置的所有备机都连着主机,那么该参数实际不起作用。
- 如果replconninfo系列guc参数配置的备机至少有一个没有连着主机,那么该参数生效:当主机历史日志数量大于该参数值,会强制回收。例外:在同步提交模式下(即synchronous_commit参数非local或off时),如果还存在连着的备机,那么主机会考虑保留满足多数派备机中最小日志接受位置的日志,这种情况下,保留的日志可能会多余max_size_for_xlog_prune参数值。
- 如果有任何一个备机正在build,那么该参数不会生效,主机日志会全量保留,防止build操作由于日志回收重复失败。
该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。
取值范围:整型,0~2147483647,单位为KB
默认值:256GB