Зачем нужен WAL-файл в PostgreSQL?

WAL хранит журнал изменений, необходимый для восстановления PostgreSQL после сбоя. Журнал записывается раньше соответствующих страниц данных и используется также для репликации и PITR.

Короткий ответ

Что ответить на собеседовании

WAL хранит журнал изменений, необходимый для восстановления PostgreSQL после сбоя. Журнал записывается раньше соответствующих страниц данных и используется также для репликации и PITR.

Подробный разбор

Ответ с пояснениями

WAL хранит журнал изменений, необходимый для восстановления PostgreSQL после сбоя. Журнал записывается раньше соответствующих страниц данных и используется также для репликации и PITR.

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

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее