WAL хранит записи для повторного применения изменений; контрольная точка задаёт опору локального восстановления и влияет на объём повторной работы. Она не заменяет сохранённый архив.
Почему это важно
Подтверждение заказа не обязано ждать записи всех его страниц. Но обещание сохранности зависит от сброса журнала и работы хранилища, а восстановление из резервной копии требует отдельного набора материалов.
Что подтверждено
Правило WAL требует устойчиво записать журнал изменений до записи соответствующих изменённых страниц данных. Порядок предотвращает ситуацию, когда страница изменилась, а записи для её восстановления ещё нет.
Граница применимости: Правило упреждающей записи PostgreSQL 18 при работающем механизме устойчивого сброса.
После сбоя PostgreSQL повторно применяет необходимые записи WAL от точки начала REDO, связанной с контрольной точкой, и восстанавливает изменения, не успевшие попасть в файлы данных.
Граница применимости: Локальное восстановление PostgreSQL 18 после сбоя; нужные файлы данных и WAL доступны.
При фиксации транзакции PostgreSQL не обязан сбрасывать все изменённые ею страницы: сохранённого WAL достаточно для их последующего восстановления. Ожидание устойчивого сброса самого WAL определяется synchronous_commit.
Граница применимости: Защита фиксации PostgreSQL 18 при корректном fsync; synchronous_commit=off ослабляет ожидание, а не правило WAL.
fsync=off может привести к невосстановимому повреждению базы после сбоя. Даже при fsync=on гарантия зависит от того, выполняет ли нижележащее хранилище запросы устойчивого сброса.
Граница применимости: Настройки WAL PostgreSQL 18 и требования к тракту хранения; наличие журнала само по себе недостаточно.
full_page_writes сохраняет в WAL полное содержимое страницы при первом изменении после контрольной точки. Эта защита позволяет восстановить страницу, запись которой прервал сбой; отключение требует другого доказанного механизма защиты от частичной записи.
Граница применимости: PostgreSQL 18; защита страниц от частичной записи, а не резервное копирование всего кластера.
Для восстановления PostgreSQL из архивного WAL нужна подходящая базовая резервная копия. Отдельный набор сегментов WAL не содержит самостоятельного полного образа базы.
Граница применимости: Физическое архивное восстановление PostgreSQL 18; не описание логического дампа.
Контрольная точка ограничивает работу локального REDO, а архивирование сохраняет историю для другого пути восстановления. Успешная контрольная точка не подтверждает полноту архива WAL до выбранной цели.
Граница применимости: Сопоставление локального восстановления после сбоя и PITR PostgreSQL 18.
Не путать
WAL — один из материалов восстановления. Проверенное восстановление доказывает, что нужный набор материалов действительно возвращает базу к цели и что результат пригоден приложению.
Что проверить
- Зафиксируйте фактические fsync и synchronous_commit для транзакций заказа.
- Проверьте, что хранилище выполняет запросы устойчивого сброса при выбранном отказе.
- Обоснуйте состояние full_page_writes и защиту от частичной записи страницы.
- Отделите текущие сегменты для локального восстановления от сохраняемого архива.
- Проверьте совместимость базовой копии и непрерывность требуемого WAL.
- Испытайте восстановление после сбоя и отдельно восстановление из резервной копии.
- Запишите достигнутую точку и результат проверки данных заказа.
Первоисточники
PostgreSQL 18 Documentation: Write-Ahead Logging
PostgreSQL Global Development Group · PostgreSQL 18, Chapter 28.3
Определяет write-ahead rule, REDO crash recovery и роль checkpoint.
Открыть первоисточникPostgreSQL 18 Documentation: WAL Configuration
PostgreSQL Global Development Group · документация PostgreSQL 18, страница открыта 7 сентября 2026 года
Открыт редактором 7 сентября 2026 года, заголовок документа сверен. Проверить fsync, synchronous_commit=off/on/remote_write/remote_apply и условия ожидания синхронных реплик.
Открыть первоисточникPostgreSQL 18 Documentation: Reliability
PostgreSQL Global Development Group · документация PostgreSQL 18, страница открыта 7 сентября 2026 года
Открыт редактором 7 сентября 2026 года, заголовок документа сверен. Проверить выполнение сброса всем трактом хранения, энергозависимые кэши накопителя и контроллера и границы гарантии при потере питания.
Открыть первоисточникPostgreSQL 18 Documentation: Continuous Archiving and Point-in-Time Recovery
PostgreSQL Global Development Group · PostgreSQL 18, Chapter 25.3
Связывает base backup, непрерывный WAL archive и проверяемый recovery target.
Открыть первоисточникRestore testing
Amazon Web Services · AWS Backup Developer Guide, проверено 30 августа 2026 года
Описывает периодический real restore, измерение duration, отдельный test account и optional validation до удаления test resources.
Открыть первоисточник