pgBackRest ile son yedekten tam restore yap
PostgreSQLYedekleme & PITRKomut
# PostgreSQL kapalı ve PGDATA boş olmalı (aksi halde --delta kullan)
sudo systemctl stop postgresql-16
sudo -u postgres pgbackrest --stanza=<stanza> --log-level-console=info restore
# Belirli bir yedekten: --set=<backup_label>
# Test amaçlı başka bir sunucuya restore'da arşivi kapat:
# sudo -u postgres pgbackrest --stanza=<stanza> --archive-mode=off restore
sudo systemctl start postgresql-16Ne yapar?
En son yedeği geri yükler, recovery.signal ve restore_command'ı yazar; PostgreSQL açılırken arşivdeki tüm WAL'ı uygulayıp en güncel tutarlı noktaya getirir ve yeni bir timeline ile promote olur.
Ne zaman kullanılır?
Primary'nin veri dizini kaybolduğunda/bozulduğunda veya yedeklerin geri yüklenebilirliğini düzenli test ederken.
Dikkat
Restore edilen küme ile eski küme aynı anda aynı stanza'ya arşiv gönderirse depo bozulur; test restore'larında --archive-mode=off kullan. Patroni altındaysa önce kümeyi pause'a al veya Patroni'yi durdur, aksi halde Patroni araya girer. Tablespace'ler ve postgresql.conf dışı yollar varsa --tablespace-map ve link seçeneklerini gözden geçir.
İlgili
- pgBackRest için WAL arşivlemeyi yapılandır (archive-push/archive-get)
- pgBackRest stanza oluştur ve arşivlemeyi doğrula (stanza-create/check)
- pgBackRest ile full, differential ve incremental yedek al
- pgBackRest yedek kataloğunu ve WAL arşiv aralığını gör (info)
- pgBackRest ile belirli bir zamana geri dön (PITR, --type=time)
- pgBackRest delta restore ile standby'ı hızlıca yeniden kur