WAL, Checkpoint и восстановление

Зачем это знать:

  • Понимать, почему запись данных может упираться в fsync.

  • Понимать смысл checkpoint spikes и параметры, которые на них влияют.

  • Понимать базу для репликации и PITR.

Связанные темы:

Резервное копирование, PITR и репликация

Память, кэш и I/O


WAL (Write-Ahead Logging)

  • Сначала изменения фиксируются в журнале WAL, затем “докатываются” в таблицы/индексы.

  • Это база durability: после падения PostgreSQL может восстановиться, проиграв WAL.


Checkpoint

  • Момент, когда система гарантирует, что определённый объём грязных страниц сброшен на диск.

  • Плохая настройка ⇒ “пилы”: периодические всплески I/O и latency.


Crash recovery

  • После сбоя PostgreSQL проигрывает WAL, чтобы привести данные к согласованному состоянию.

  • Чем больше накоплено WAL/грязных страниц — тем дольше recovery.

Последнее обновление