Checkpoint (banco de dados)
Um ponto em que o banco de dados grava todas as páginas "sujas" (alteradas em memória, mas ainda não em disco) nos arquivos de dados e marca até onde o WAL já foi aplicado. Isso limita quanto log precisa ser reproduzido numa recuperação após queda.
Mecânica: entre checkpoints, as alterações vivem em memória (o buffer pool) e no WAL; num checkpoint, as páginas sujas são gravadas em disco e um registro de checkpoint é escrito. Em caso de queda, só é preciso reproduzir o WAL desde o último checkpoint → recuperação mais rápida. Trade-off: checkpoints frequentes dão recuperação rápida, mas mais carga de I/O (picos de escrita); checkpoints espaçados reduzem o I/O, mas alongam a recuperação e deixam o WAL crescer. O PostgreSQL espalha as escritas ("spread checkpoints") para evitar picos de I/O; o InnoDB usa "fuzzy checkpoints". Ajustável via checkpoint_timeout/max_wal_size. Fortemente entrelaçado com a rotação do WAL. Relaciona-se com WAL e rotação de WAL.