Postgressql之Checkpoint

概念

checkpoint又名检查点,一般checkpoint会将某个时间点之前的dirty data全部写出到磁盘,以实现数据的一致性与完整性.

做什么?

触发checkpoint时,需要刷新所有脏页,为了能够周期性的创建检查点,减少崩溃恢复时间,同时合并I/O,PostgreSQL提供了辅助进程checkpointer。它会 周期性 检测时间以及上面的XLOG日志量阈值是否达到,而周期时间以及XLOG日志量阈值可以通过参数来设置大小,接下来介绍下与checkpoints相关的参数。

触发条件

1,数据量达到checkpoint_segments*16M时,系统自动触发;
2,时间间隔达到checkpoint_timeout参数值时;
3,用户发出checkpoint命令时。

参数:
checkpoint_segments:
WAL log的最大数量,系统默认值是3。该值越大,在执行介质恢复时处理的数据量也越大,时间相对越长。
checkpoint_timeout:
系统自动执行checkpoint之间的最大时间间隔,同样间隔越大介质恢复的时间越长。系统默认值是5分钟。

指标:
checkpoint_timed:计划的checkpoint数
checkpoint_request:执行的checkpoint数量;

你可能感兴趣的:(Postgressql之Checkpoint)