Dosya Sistemi Düzeyinde Yedekleme(Pg_basebackup)
Dosya Sistemi Düzeyinde Yedekleme(Pg_basebackup)
Pg_basebackup dosya sistemi düzeyinde yedekleme için ve çalışan veritabanı clusterının yedeğini almak için kullanılır. File system olarak düşünebilir çünkü data klasörü içerisinde bulunan herşeyi alır fakat file system backupdan farkını yazının devamında anlayacaksınız.
Pg_basebackup , data dizini içerisinde ki herşeyi aldığı için tek veritabanın yedeğini alınamaz o cluster içerisinde bulunan bütün veritabanı ve nesnelerinin yedeğini alır. Tek veritabanın yedeğini almak için pg_dump komutu kullanılabilir(detaylı bilgi için pg_dump isimli yazıma bakmanızı tavsiye ederim) .
Pg_basebackup veritabanı bağlantı parametreleri:
-d veya –dbname : Bu komut tutarlı bir backup almak için kullanılır. Bu parametre veritabanı bazında yedekleme için KULLANILMAZ.
-h veya –host : Postgresql ip veya host ismini belirtmek için kullanılır.
-p veya –port : Postgresql port bilgisini girdiğimiz parametredir.
-w veya –no-password: Pg_basebackup sırasında şifre girmemek için kullanılır.
-W veya –password : Postgresql e bağlanmadan önce şifre sormak için kullanılır. Bu parametre belirtilmediğinde Pg_hba.conf üzerinden md5 veya scram gibi bağlantı methotları kullanılıyorsa şifre girmek için zorlayacaktır.
Pg_basebackup parametreleri aşağıdaki gibidir.
-D veya –pgdata : Yedeği alınmak istenen postgresql data dizini
-F veya –format : Pg_basebackup yedek formatını belirmek için kullanılır. İki parametre kullanılır. Bunlar, plain veya tar komutudur.
-r veya –max-rate: Aktarılan maksimum veri aktarım hızıdır. Default değer kb/sn(saniye) cinsindedir.
-R veya –write-recovery-conf : basebackup sonrasında recovery.conf dosyası oluşturmak için kullanılır.
-X veya –wal-method: wal dosyalarının yedeklerini almak için aşağıdaki belirtilen parametrelerden faydalanılır.
n veya none: Wal’leri dahil etmemek için kullanılan parametredir.
f veya fetch : Walleri yedeklemenin sonunda alır.
s veya stream: Yedekleme işlemi çalışırken bir taraftan walleri almak için kullanılır.
-z veya –gzip : tar dosyası ile beraber gzip sıkıştırmasını etkinleştirir.
-Z veya –compress: Yedeğin 0 ile 9 arasında sıkıştırması için kullanılır.
-C veya –create-slot: Yedeklemeye başlamadan önce slot oluşturmak için kullanılır. Slot varsa hata verecektir.
-N veya –no-sync: pg_basebackup clusterın tutarlı bir şekilde diske yazılması için bekler bu komut ile diski beklemeden bitmesini sağlar. Bundan dolayı daha hızlı biter fakat yedek tutarsız olabileceğinden dolayı kullanmamanızı tavsiye ederim.
-P veya –progress : Yedek alınırken ki durumu görüntülemek için kullanılıur.
–no -slot : slot oluşturulmasını engellemek için kullanılır.
Örnek Kullanımı aşağıdaki gibidir.
pg_basebackup -p 5433 -Ft -D /var/lib/pgsql/11_1/ -R
Düzenli yedekleme ve point-in time recovery ile kullanımı için Devamlı Arşivleme ve Arşivden Geri Yükleme (Point-in-Time Recovery) isimli yazıma göz atabilirsiniz.