PostgreSQL veritabanlarında veri güvenliği ve sürekliliği kritik bir öneme sahiptir. Bu noktada pgBackRest, açık kaynaklı bir yedekleme ve kurtarma çözümü olarak öne çıkmaktadır. Geleneksel yedekleme araçlarının aksine, pgBackRest performans, güvenilirlik ve esneklik konularında PostgreSQL yöneticilerine benzersiz avantajlar sağlar.
pgBackRest, veritabanı yedeklemelerinde tam (full) ve artımlı (incremental) yedekleme seçenekleri sunarak veri yönetimini kolaylaştırır. Tam yedekleme tüm veritabanı içeriğini kapsarken, artımlı yedekleme yalnızca son yedeklemeden bu yana değişen verileri kaydeder. Bu yaklaşım, hem depolama alanından tasarruf sağlar hem de yedekleme süresini önemli ölçüde kısaltır.
pgBackRest’in kullanımı basit yapılandırma dosyaları ve net komutlarla oldukça pratiktir.
Ubuntu/debian sistemlere aşağıdaki gibi dahil edilebilir.
apt install pgbackrestBashArdından aşağıdaki /etc/pgbackrest.conf dosyasında gerekli yapılandırmalar yapılır.
[global]
process-max=2
start-fast=y
stop-auto=y
log-path=/mnt/pgbackrest/log
log-level-file=warn
log-level-console=detail
backup-standby=n
resume=n
exclude=log/
archive-async=y
archive-timeout=360
repo1-type=s3
repo1-s3-bucket=<BUCKET_ADI>
repo1-path=<KLASÖR>
repo1-s3-endpoint=s3.amazonaws.com
repo1-s3-region=eu-west-1
repo1-s3-key=<ANAHTAR>
repo1-s3-key-secret=<GİZLİ_ANAHTAR>
repo1-retention-full=2
repo1-retention-diff=1
repo2-path=/backup/pgbackrest/repo
repo2-retention-full=2
repo2-retention-diff=1
repo1-cipher-type=aes-256-cbc
repo1-cipher-pass=<ŞİFRE>
repo2-cipher-type=aes-256-cbc
repo2-cipher-pass=<ŞİFRE>
[pg16_pg]
pg1-path=/mnt/data/16/main
pg1-port=5432PlaintextYapılandırmayı kayıt ettikten hemen sonra tabii ki bu yapılandırmayı PostgreSQL için geçerli kılmalıyız ki WAL kayıtlarınıda alalım,
-- Arşivleme modunu etkinleştirin
ALTER SYSTEM SET archive_mode = on;
ALTER SYSTEM SET archive_command = 'pgbackrest --stanza=pg16_pg archive-push %p';
-- Yapılandırmayı yeniden yükleyin
SELECT pg_reload_conf();SQLArdından WAL arşivlerini almaya pg başlayacak bu noktada hızlı olmak lazım çünkü çok WAL birikmemesi gerekiyor.
pgbackrest --stanza=pg16_pg stanza-create && pgbackrest --stanza=pg16_pg check --log-level-console=infoBashİlk sefer full yedek alalım
pgbackrest --stanza=pg16_pg --log-level-console=info --type=full backupBashArtımlı yedek almak için
pgbackrest --stanza=pg16_pg --log-level-console=info --type=incr backupBash