Sumy kontrolne danych to nowa funkcja wprowadzona w wersji 9.3 oraz:
wprowadzono nowy parametr GUC „ignore_checksum_failure”, który zmusi PostgreSQL do dalszego przetwarzania transakcji, nawet jeśli zostanie wykryte uszkodzenie
W przypadku awarii sumy kontrolnej na wzorca replikacji uszkodzone dane zostaną zreplikowane do urządzeń podrzędnych lub replikacja zostanie zatrzymana. Czy to zależy od ustawienia ignore_checksum_failure
?
Ten plik README zawiera przydatne informacje, ale nie odpowiada bezpośrednio na pytanie.
postgresql
replication
postgresql-9.3
checksum
Jack mówi, że spróbuj topanswers.xyz
źródło
źródło
Odpowiedzi:
Jeśli dane zostały uszkodzone na dysku, uszkodzenie nie powinno zostać zreplikowane, chyba że było już obecne w kopii zapasowej, z której utworzono replikę.
Oczywiście, jeśli zignorujesz awarie sumy kontrolnej, wówczas mistrz może zacząć popełniać błędy i ta nieprawidłowość zostanie powtórzona.
Jeśli korupcja występuje w pamięci, wszystkie zakłady są wyłączone.
źródło
ignore_checksum_failure
parametru zawiera ostrzeżenie, że „takie zachowanie może ... propagować ... uszkodzenie”. Bez wyraźnej wzmianki o replikacji (strumieniowej) wydaje się, że jest to sugerowane tutaj. Zwykle błąd sumy kontrolnej spowodowałby przerwanie transakcji, więc żadne dane nie byłyby replikowane. Zignorowanie tego błędu umożliwi zatwierdzenie transakcji i zapisanie (potencjalnie) uszkodzonych danych, które również zostaną zreplikowane.