Недавно я узнал кое-что о контрольной сумме данных PostgreSQL и почувствовал растерянность по поводу связи между контрольной суммой и полным изображением страницы.
Как сказано в следующем комментарии:
Если нам нужно защитить обновления битов подсказок от разорванных записей, WAL-log заполняет полное изображение страницы.Это полное изображение страницы необходимо только в том случае, если обновление бита подсказки является первым изменением страницы после последней контрольной точки.
Здесь мы не проверяем full_page_writes, потому что эта логика включается, когда мы вызываем XLogInsert (), так какзначение изменяется динамически.
Как я знаю, если нам нужно защитить страницы от разорванных записей, включая обновления битов подсказок, мы должны включить full_page_writes
.Зачем мне писать полностраничные изображения в WAL, если контрольная сумма способна обнаруживать разорванные страницы, даже если full_page_writes
выключен?