PostgreSQL v9.0'da çalışan bir WAL arşivleme sistemim var. Bu nedenle WAL, düzenli olarak arşivlenir (3 WAL oluşturulduğunda veya bir WAL 15 dakikadan eskiyse).
Şimdi PG_DATA dizininin ikili paketini ekliyorum (pg_xlog alt dizini hariç). Bunu yapmak için bir pg_start_backup(),
ikili kopya ve a pg_stop_backup()
.
Ben pg_start_backup ve pg_stop_backup ne yaptığını oldukça iyi anlıyorum, ilki bir kontrol noktası yapmak ve sonuncusu son WAL dosyasının arşivlenmiş olmasını sağlamak.
Gönderen Resmi belgelerin ikili veri we should kopyalamak için bunu görebilirsiniz:
Tar veya cpio (pg_dump veya pg_dumpall değil) gibi uygun bir dosya sistemi yedekleme aracını kullanarak yedeklemeyi gerçekleştirin. Bunu yaparken veritabanının normal çalışmasını durdurmak ne gerekli ne de istenen bir durumdur.
Bu yüzden oldukça şaşkınım. Bu, kopya oluşturulurken bir Checkpoint'in gerçekleştirilebileceği anlamına gelir. Kopyalama komutunun kopyayı gerçekleştirirken veri değişikliklerine izin vermesi gerektiğini belirten bir sürü belge gördüm, bununla birlikte, doğru aracı bulma konusunda basitim. Ama sorum, postgreSQL'in kurtarma işlemini bazı tutarsız dosyaları içeren bir pg_data içeriğiyle nasıl halledeceğidir (bazıları kontrol noktasından önce, bazıları sonradan)?
Postgresql işlem günlüklerini yeniden oynatarak tüm bu dosyaları doğru duruma getirebilecek mi? Yedekleme yaparken tablo oluşturma ve bırakma işlemlerinin tehlikeli olduğunu gördüm, vakum komutları gibi tehlikeli işlemler yok mu? Pg_backup vakum işlemlerini askıya alıyor mu? İkili kopyalama işleminin başlangıcında global / pg_control dosyasının bir kopyasını yapmalı mıyım? Daha hızlı bir geri yükleme işlemi almak için anlık görüntü özellikli bir dosya sistemi (xfs-freeze gibi) kullanmalı mıyım?
Bir yedekleme komut dosyası çökmesinin otomatik olarak bir pg_stop_backup başlatmayacağını gördüm, bu yüzden yedekleme durumumun uzun bir süre (nagios'um pg_stop_backup () düzeltmek için bir yerde çalıncaya kadar) yaşama şansı var. Bu iki komedi arasında PostgreSQL'de farklı bir şey varsa, bunun ne gibi bir etkisi olabileceğini anlamak istiyorum.
Aydınlat lütfen.