A configuration parameter to force the OS to write data accumulated during a checkpoint to storage

checkpoint_flush_after is a configuration parameter which forces the OS (typically Linux) to write the specified amount of data accumulated during a checkpoint to underlying storage. This reduces the risk of I/O stalls if the OS writes larger batches of data in the background, or during the fsync operation at the end of the checkpoint.

checkpoint_flush_after was added in PostgreSQL 9.6.

Default value

The default value for is checkpoint_flush_after: 256kB (Linux), otherwise 0.

Change history


Checkpoints, GUC configuration item

See also

checkpoint, checkpoint_completion_target, backend_flush_after, bgwriter_flush_after