WALローテーション
先行書き込みログ(WAL)のセグメントファイルの管理。セグメントが埋まると新しいものに切り替え、古いセグメントは不要になった時点で再利用・アーカイブ・削除する。WALがどれだけディスクを使うかを決める仕組みである。
仕組み:WALは固定サイズのセグメント(PostgreSQLでは16MB)に書かれ、埋まると次へ移る。セグメントを再利用・削除できるのは、その変更が確実に反映され(チェックポイント完了)、かつ必要としている全員の処理が終わってからだ。必要とするのはレプリカ(レプリケーションスロット)、アーカイブ(PITR)、実行中のバックアップである。落とし穴:レプリカが止まったりアーカイブが失敗したりすると、古いWALが解放できず溜まり続けてディスクを埋めることがあり、Postgres運用で最も多い障害の一つだ。調整項目はmax_wal_size、チェックポイントの頻度、レプリケーション遅延とアーカイブ状態の監視。チェックポイントの仕組みと直結している。