Kontekst:
Powiedzmy, że podczas używania replikacji strumieniowej / trybu gotowości w trybie gotowości w klastrze Postgres 9.1 węzeł rezerwowy ulega awarii. Pozostaje wyłączony przez jeden dzień, w którym to czasie w masteru pojawia się dużo DML. Odzyskiwanie.conf w trybie gotowości nie zawiera wpisu „restore_command” (do przywracania z plików dziennika WAL), ale zawiera ciąg „primary_conninfo” (do replikacji strumieniowej).
Pytanie:
Jeśli ponownie uruchomię tryb gotowości po dniu zmian w urządzeniu głównym. Czy „dogoni” (ostatecznie przejdzie w stan, który odzwierciedla wzorzec) przy użyciu tylko replikacji strumieniowej? Czy też muszę włączyć archiwizację plików WAL i zezwolić na stosowanie plików zarchiwizowanych podczas awarii, aby zapewnić walutę?
Sprawdziłem tutaj dokument dotyczący archiwizacji / replikacji strumieniowej WAL i mówi, że nie musisz włączać zarówno archiwizacji WAL, jak i replikacji strumieniowej, ale nie jest jasne, czy nastąpi nadrabianie zaległości bez włączonej archiwizacji plików WAL.
Dzięki!
źródło
w węźle rezerwowym możesz ustawić restore_command na recovery.conf, a następnie skopiować pliki wzorcowe pg_xlog (których brakuje w trybie gotowości) do folderu, który wskazuje punkty restore_command. Możesz łatwo znaleźć brakujące pliki xlog, uruchamiając węzeł uruchamiania i wpisując
zobaczysz tam „czekający na 000000020000005200000025” lub coś w tym rodzaju, co powie ci, który pg_xlog powinieneś zacząć kopiować z master na ścieżkę restore_command w trybie gotowości.
jeśli włączysz wal_archiving, rozpocznie się archiwizacja od momentu konfiguracji.
źródło
Nie, skonfigurowałem instancję replikacji przesyłania strumieniowego i jakoś się nie zsynchronizowałem, nie byłem w stanie jej ponownie uruchomić, dopóki nie zrobiłem instrukcji obsługi
rsync
archiwów WAL.źródło