pgBarman nedir? Nasıl kullanılır?

pgbarman-nasil-kullanilir

Kullanması kolay olan Backup & Recovery için kullabileceğiniz çok yeni bir PostgreSQL aracıdır. Opensource olup python ile yazılmıştır. ssh işi önemli eğer yapmazsanız hatalarla karşılaşacaksınız, siniriniz bozulabilir.

[barman@travego]$ ssh-keygen

diyerek anahtarımızı oluşturalım. Ardından;

[barman@travego]$ ssh-copy-id postgres@setra

diyerek ise veritabanı sunucumuzun postgres kullanıcısına yollayalım.

Bunun amacı ssh bağlantısı sırasında şifre sormadan key ile otomatik authentication sağlamak.

Barman’ın komutları şu şekilde;

[barman@travego]$ barman list-server
[barman@travego]$ barman check [main] # main=server etiketi 
[barman@travego]$ barman show-server [main]
[barman@travego]$ barman delete [main] [id]
[barman@travego]$ barman backup [main] 

Normal => barman recover [main] [id] [$PGDATA]  
PITR => barman recover [main] [id] [$PGDATA] --target-time "[time]"  

/etc/barman.conf dosyası içinde backup & recovery yapacağımız sunucularımızı tanımlıyoruz.

[barman]
barman_home = /var/lib/barman  
barman_user = postgres  
log_file = /var/log/barman/barman.log compression = gzip

[main]
description = "Main PostgreSQL Database"  
ssh_command = ssh postgres@setra  
conninfo = host=setra user=postgres

[replica]
description = "Replica PostgreSQL Database"  
ssh_command = ssh postgres@neoplan  
conninfo = host=neoplan user=postgres  

Arşivlenen WAL dosyalarının pgBarman’ın olduğu sunucu üstünde belirtilen path’e aktarılması gerekiyor. Bunu da postgresql.conf içinde yapıyoruz.

archive_command='rsync -a %p barman@travego:/srv/post/main/incoming/%f'  

pgBarman kullanımı ile ilgili ekran görüntüleri aşağıdadır.

pgbarman-list-backups

pgbarman-server-status

pgbarman-check-server

pgbarman-show-server

Erkin Çakar

PostgreSQL DBA & Software developer