Как устроены WAL-архивация и потоковая репликация в PostgreSQL? Что произойдёт с основным сервером, если реплика отключится, параметр wal_keep_size настроен некорректно или заполнится диск для хранения архивных журналов?

WAL-архивация сохраняет завершённые сегменты для восстановления, а streaming replication передаёт WAL реплике. Если необходимые сегменты исчезнут, отставшая реплика не сможет продолжить обычное получение.

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

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

WAL-архивация сохраняет завершённые сегменты для восстановления, а streaming replication передаёт WAL реплике. Если необходимые сегменты исчезнут, отставшая реплика не сможет продолжить обычное получение.

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

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

WAL-архивация сохраняет завершённые сегменты для восстановления, а streaming replication передаёт WAL реплике. Если необходимые сегменты исчезнут, отставшая реплика не сможет продолжить обычное получение.

wal_keep_size задаёт нижний резерв, а не полный контроль удержания. Slots и неуспешная архивация могут накапливать WAL до заполнения pg_wal; нехватка места угрожает работе primary. Асинхронная реплика обычно не блокирует commit, синхронная может задерживать его. Следите за диском, lag, slots и архиватором; вручную удалять WAL для освобождения места опасно.

Источник: www.postgresql.org.

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

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

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

Подробнее