Итог
Если доставка WAL работает правильно, мастер начнет очистку.
Обоснование
Похоже на обычную WAL-доставку до 9.0. Вспомните примерно, как это работает. Мастер работает, пока WAL не достигнет определенного (настраиваемого) порога размера. Когда порог размера WAL достигнут, мастер начинает контрольную точку WAL. Как часть контрольной точки, мастер полностью синхронизирует все записи WAL вплоть до контрольной точки в постоянном хранилище. Другими словами, все до установленной контрольной точки WAL гарантированно будет на диске. После фиксации контрольной точки предыдущий WAL может быть безопасно отброшен.
Postgres не удаляет или перезаписывает файлы WAL после каждой контрольной точки. Но с горячим резервированием он сначала отправляет сегмент WAL с контрольной точкой, вызывая archive_command
, с которым вы его настроили. Похоже, вы используете скрипт SkyTools в качестве archive_command
. archive_command
копирует сегмент WAL из личного хранилища ведущего устройства, $PGDATA/data/pg_xlog
, в какое-либо нейтральное хранилище, где его впоследствии может использовать подчиненное устройство. Вы используете какой-то нейтральный каталог для хранения сегментов WAL, пока ведомый не использует их, верно? В любом случае, когда archive_command
возвращает ноль мастеру, мастер предполагает, что сегмент WAL был успешно отправлен, и удаляет или повторно использует файл сегмента, оставленный в $PGDATA/data/pg_xlog
. Мастер никогда не знает и не заботится о том, что произойдет после этого. Сегментная копия, сделанная archive_command
, может быть использована подчиненным или нет; мастер не участвует.
Другими словами, управление мастера заканчивается при отправке сегмента WAL. Поэтому мастер не может вмешиваться в поставленные, но неизрасходованные сегменты WAL. Это включает в себя перезагрузку мастера.
Протест
НО : Если доставка WAL прервана, все ставки отменены. Убедитесь, что ваши archive_command
работали правильно и , что неизрасходованные WAL находятся в нейтральном каталоге вне обеих установок Postgres. В предыдущем обсуждении также предполагается, что вы выполняете рекомендованную конфигурацию с теплым резервированием, например, подробности команды PG в руководстве.
Это также мое любимое время для проверки резервных копий. Дает мне тепло и размытость, чтобы увидеть, что я все еще могу восстановить, если случится что-то неожиданное ...