Bozulan replica'yı Patroni ile yeniden oluştur (reinit)
PostgreSQLPatroniKomut
# Replica'nın PGDATA'sını silip yeniden oluştur (create_replica_methods: pgbackrest/basebackup):
patronictl -c /etc/patroni/patroni.yml reinit <cluster> <member> --wait --force
# Yedek deposu yerine doğrudan leader'dan basebackup al:
patronictl -c /etc/patroni/patroni.yml reinit <cluster> <member> --from-leader --wait --forceNe yapar?
Belirtilen replica'nın veri dizinini siler ve Patroni'nin create_replica_methods ayarına göre (pgBackRest restore veya pg_basebackup) sıfırdan yeniden kurar.
Ne zaman kullanılır?
Replica timeline uyuşmazlığı, pg_rewind başarısızlığı, eksik WAL veya veri bozulması nedeniyle replikasyona katılamadığında.
Dikkat
Üyenin tüm yerel verisi silinir; komutun doğru üyeyi hedeflediğini iki kez kontrol et (Patroni leader üzerinde reinit'i reddeder). Büyük veritabanlarında saatler sürebilir ve leader'a I/O/ağ yükü bindirir; bu sürede küme bir replica eksik çalışır. --from-leader yalnız güncel Patroni 4.x sürümlerinde vardır (patronictl reinit --help ile kontrol et); create_replica_methods'u atlayıp leader'dan pg_basebackup alır.
İlgili
- Patroni kümesinin durumunu, topolojisini ve geçmişini gör
- Patroni ile planlı switchover yap
- Patroni ile manuel failover yap
- Patroni'de küme geneli parametre değiştir (edit-config) ve pending restart uygula
- Patroni bakım moduna al ve çıkar (pause/resume)
- Patroni DCS (etcd/Consul) ve REST API sağlığını kontrol et