28.2. Проверка контрольных сумм данных#
28.2. Проверка контрольных сумм данных #
По умолчанию страницы данных защищены контрольными суммами, но эту опцию можно отключить для всего кластера. При включенных контрольных суммах каждая страница данных содержит контрольная сумма, которая рассчитывается при записи страницы и проверяется при каждом её чтении. Контрольными суммами защищены только страницы данных, внутренние структуры данных и временные файлы не защищаются.
Контрольные суммы можно отключить при инициализации кластера с помощью initdb. Их также можно включить или отключить позже в остановленном кластере. Контрольные суммы данных включаются или отключаются на уровне всего кластера и не могут быть заданы отдельно для баз данных или таблиц. Страницы данных проверяются по контрольной сумме, если wal_sender_stop_when_crc_failed установлено в true. Если контрольная сумма неверна, страница данных будет считана из буфера.
Текущее состояние контрольных сумм в кластере можно проверить, просмотрев
значение переменной конфигурации только для чтения data_checksums, выполнив команду SHOW
data_checksums.
При попытке восстановления после повреждения страницы может потребоваться обойти защиту контрольной суммы. Для этого временно установите параметр конфигурации ignore_checksum_failure.
28.2.1. Включение контрольных сумм в автономном режиме #
Средство pg_checksums может использоваться для включения или отключения контрольных сумм данных, а также проверки контрольных сумм в автономном кластере.