Replikacja strumieniowa PostgreSQL z fizycznym slotem replikacji
Przetłumaczone automatycznie z angielskiego. Przeczytaj oryginał
Utwórz dedykowanego użytkownika do replikacji:
Text
CREATE ROLE replica WITH REPLICATION PASSWORD 'xxxYYYzzz' LOGIN;Następnie dodaj fizyczny slot replikacji, aby zachować synchronizację z WAL. Bez niego, jeśli aplikowanie logów na replice będzie zbyt wolne, serwer główny może usunąć logi, których replika jeszcze nie skonsumowała, co doprowadzi do zerwania replikacji:
Text
select pg_create_physical_replication_slot('replica');Następnie zatrzymaj serwer repliki i usuń folder PGDIR/VERSION/main. Rozpocznij kopiowanie:
Text
pg_basebackup -D /var/lib/postgresql/14/main -P --wal-method=stream -R --checkpoint=fast -U replica --slot=replica -W -h a.b.c.dWyrównaj rozbieżności w konfiguracji między serwerem głównym a repliką, takie jak limit połączeń, a następnie uruchom serwer repliki.
Aby sprawdzić status replikacji, uruchom na serwerze głównym:
SQL
select * from pg_replication_slots;