WAL хранит журнал изменений, необходимый для восстановления PostgreSQL после сбоя. Журнал записывается раньше соответствующих страниц данных и используется также для репликации и PITR.
Зачем нужен WAL-файл в PostgreSQL?
WAL хранит журнал изменений, необходимый для восстановления PostgreSQL после сбоя. Журнал записывается раньше соответствующих страниц данных и используется также для репликации и PITR.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
WAL хранит журнал изменений, необходимый для восстановления PostgreSQL после сбоя. Журнал записывается раньше соответствующих страниц данных и используется также для репликации и PITR.
Это последовательность сегментов в pg_wal, а не один вечный файл. При восстановлении сервер читает необходимые записи после checkpoint и восстанавливает согласованное состояние. Архивирование WAL вместе с базовой копией позволяет восстановиться на выбранный момент, если цепочка журналов полна. Размер pg_wal может расти из-за отставших replication slots или ошибок архиватора. Удалять сегменты вручную опасно: необходимо устранить причину удержания и использовать штатные механизмы управления.