Контрольные суммы данных - это новая функция, представленная в 9.3, и:
появился новый параметр GUC «ignore_checksum_failure», который заставит PostgreSQL продолжить обработку транзакции, даже если обнаружено повреждение
В случае сбоя контрольной суммы на ведущем устройстве репликации будут ли эти поврежденные данные реплицироваться на ведомые или будет остановлена репликация. Это зависит от настройки ignore_checksum_failure
?
Это README имеет некоторую полезную информацию, но не дает прямого ответа на вопрос.
postgresql
replication
postgresql-9.3
checksum
Джек говорит, попробуйте topanswers.xyz
источник
источник
Ответы:
Если данные были повреждены в то время как на диске, повреждение не должно быть реплицировано, если оно уже не присутствовало в резервной копии, из которой была создана реплика.
Конечно, если вы игнорируете ошибки контрольной суммы, мастер может начать ошибаться, и эта ошибка будет воспроизведена.
Если в памяти происходит повреждение, тогда все ставки выключены.
источник
ignore_checksum_failure
параметру включает предупреждение о том, что «такое поведение может ... распространять ... повреждение». Без явного упоминания (потоковой) репликации может показаться, что это подразумевается здесь. Обычно ошибка контрольной суммы приводит к прерыванию транзакции, поэтому никакие данные не будут реплицированы. Игнорирование этой ошибки позволит вам зафиксировать транзакцию и записать (потенциально) поврежденные данные, которые также будут реплицированы.