Checkpoint (database)
A point where the database writes out all "dirty" pages (changed in memory but not on disk) to the data files and marks how far the WAL has been applied. It bounds how much log must be replayed during crash recovery.
Mechanic: between checkpoints, changes live in memory (the buffer pool) + in the WAL; at a checkpoint the dirty pages are flushed to disk and a checkpoint record is written. On crash, only WAL since the last checkpoint needs replaying → shorter recovery time. Trade-off: frequent checkpoints give fast recovery but more I/O load (write spikes); infrequent ones reduce I/O but lengthen recovery and let the WAL grow. PostgreSQL spreads out the writes ("spread checkpoints") to avoid I/O bursts; InnoDB uses "fuzzy checkpoints". Tuned via checkpoint_timeout/max_wal_size. Tightly interwoven with WAL rotation. Related to WAL and WAL rotation.