A process which automatically executes checkpoints

The checkpointer is a PostgreSQL server process which automatically executes checkpoints.

The checkpointer was created as a separate process in PostgreSQL 9.2; before that its functionality was handled by the background writer.

See mail thread "Separating bgwriter and checkpointer" for background information on why the checkpointer was created.

Source code

The checkpointer process code is in src/backend/postmaster/checkpointer.c.

The function which actually performs the checkpoint is CreateCheckPoint(), or if the PostgreSQL instance is in recovery, CreateRestartPoint(). Both functions are located in src/backend/access/transam/xlog.c.

Change history


Checkpoints, PostgreSQL internals