WAL-архивация сохраняет завершённые сегменты для восстановления, а streaming replication передаёт WAL реплике. Если необходимые сегменты исчезнут, отставшая реплика не сможет продолжить обычное получение.
Как устроены WAL-архивация и потоковая репликация в PostgreSQL? Что произойдёт с основным сервером, если реплика отключится, параметр wal_keep_size настроен некорректно или заполнится диск для хранения архивных журналов?
WAL-архивация сохраняет завершённые сегменты для восстановления, а streaming replication передаёт WAL реплике. Если необходимые сегменты исчезнут, отставшая реплика не сможет продолжить обычное получение.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
WAL-архивация сохраняет завершённые сегменты для восстановления, а streaming replication передаёт WAL реплике. Если необходимые сегменты исчезнут, отставшая реплика не сможет продолжить обычное получение.
wal_keep_size задаёт нижний резерв, а не полный контроль удержания. Slots и неуспешная архивация могут накапливать WAL до заполнения pg_wal; нехватка места угрожает работе primary. Асинхронная реплика обычно не блокирует commit, синхронная может задерживать его. Следите за диском, lag, slots и архиватором; вручную удалять WAL для освобождения места опасно.
Источник: www.postgresql.org.