检查点
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检查点之间的最长时间。
参数类型:整型
参数单位:秒
取值范围:1~3600
默认值:60
设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。
enable_xlog_prune
参数说明:设置在任一备机断联时,主机是否根据xlog日志的大小超过参数max_size_for_xlog_prune的值而回收日志。
该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。
取值范围:布尔型
- 设置为on时,如果任一备机断联时,主机回收日志。
- 设置为off时,如果任一备机断联时,主机不回收日志。
默认值:on
max_size_for_xlog_prune
- replconninfo系列guc参数配置的所有备机都连接主机时,则该参数不生效。
- replconninfo系列guc参数配置的备机存在断连时,则该参数生效。当主机xlog日志量大于该参数值,会强制回收。例外:在同步提交模式下(即synchronous_commit参数不是local/off时),如果存在连接中的备机,则主机会考虑保留多数派备机中最小日志接受位置以后的日志,这种情况下,保留的日志可能多于max_size_for_xlog_prune参数值。
- 若存在build中的备机,则该参数不生效,主机日志会全量保留,防止build操作期间由于日志被回收引发的失败。
参数类型:整型
参数单位:kB
取值范围:0~2147483647
默认值:256GB
设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。取值不带单位,则默认为kB;取值如果要带单位,必须为kB、MB、GB。
设置建议:磁盘小的情况,该参数建议设置小,最大设为256GB。