Database

Redhat üzərində PostgreSQL-in backup edilməsi qaydası

PostgreSQL üzərində Backup prosesi haqqında danışacağıq.Bu prosesi Red Hat üzərində aparılacaq.

Salam əziz oxucular,bu gün sizə PostgreSQL üzərində Backup prosesi haqqında danışacağıq.Bu prosesi Red Hat üzərində aparılacaq. Red Hat Enterprise Linux (RHEL) üzərində PostgreSQL (backup) üsulları, verilənlər bazasının təhlükəsizliyini və davamlılığını təmin etmək üçün vacibdir. PostgreSQL verilənlər bazasını yedəkləmək üçün bir neçə üsul mövcuddur. Red Hat üzərində PostgreSQL backup edilməsi, verilənlər bazasının davamlılığını təmin etmək və məlumat itkilərinin qarşısını almaq üçün vacib bir prosedurdur. Backup metodları arasında SQL dump, fayl sistemi nüsxəsi, WAL arxivləmə və avtomatlaşdırılmış backup kimi müxtəlif üsullar mövcuddur. Backup edilmə strategiyanızın işləməsi üçün prosedurları düzgün tətbiq etməyiniz çox önəmlidir.

SQL Dump (pg_dump və pg_restore)
pg_dump PostgreSQL verilənlər bazasının tam və ya seçilmiş hissələrinin backup etmək üçün istifadə olunur. Bu üsul, verilənlər bazasının strukturunu və məlumatlarını bir fayla yazır. Database tam backup etmək üçün isə 

pg_dump -U istifadəçi_adı -h host_adı -p port -F c -b -v -f /path/to/backup_file.dump db_adı

Yuxarıda cədvəlin içində qeyd olunan paremetirlər aşağıdakı kimi qarşılığı vardır.

-U: PostgreSQL istifadəçi adı
-h: Verilənlər bazası serverinin IP ünvanı və ya host adı
-p: Port nömrəsi (əksər hallarda 5432)
-F c: Yedəyi özəl formatda (custom) saxlamaq
-b: Bütün obyektlər (binary large objects) daxil olmaqla
-v: Ətraflı (verbose) çıxış
-f: Yedək faylının yeri

Yaxşı Backupu uğurla etdik, sonra hər hansı bir fəlakət anında bərpa etmək lazımdır.Bəs ond anə edəcəyik?(restore)

pg_restore -U istifadəçi_adı -h host_adı -p port -d yeni_db_adı /path/to/backup_file.dump

Yuxarıda qeyd olunan optionlardan -d yeni verilənlər bazasının adı olmalıdır.

  Digər Backup üsulundan biri isə File System-level Backup -du Bu üsul PostgreSQL verilənlər bazasının fiziki fayllarının backup edilməsi ilə əlaqədardır. Əgər PostgreSQL verilənlər bazası “full access mode”da işləyirsə, bu metodun istifadəsi mümkündür. Fayl sisteminin backup-u zamanı aşağıdakıları nəzərə almalısınız birinci edəcəyiniz addım PostgreSQL serverini dayandırın 

systemctl stop postgresql

Və sonra isə PostgreSQL verilənlər bazası direktoriya backupunu götürün.

rsync -av /var/lib/pgsql/data/ /backup/pgsql_backup/

Yuxarıdakı Backup prosesi bitikdən sonra isə  PostgreSQL serverini işə salmaq üçün aşağıdakı komandadan istifadə edin.

systemctl start postgresql

Yadda saxlayın: Bu backup üsulu yalnız PostgreSQL serverini dayandırdıqda və verilənlər bazası yazma əməliyyatları dayandıqda işləyir. 

Backup prosesindindən sonra  edəcəyini confiqlərdən biridə WAL (Write-Ahead Logs) Archiving demək WAL PostgreSQL-in WAL (Write-Ahead Log) sistemi verilənlər bazasının hər bir əməliyyatını qeyd edir. Bu, verilənlər bazasının bərpa etmə əməliyyatları üçün istifadə olunur.Bəhs  WAL arxivləməsini aktivləşdirmək üçün nə etməliyik? tələsməyin  komanda aşağıdakı kimidir.Amma aktivləşdirmədən əvvəl isə postgresql.conf faylında aşağıdakı parametrləri yazmalısınız.

archive_mode = on
archive_command = 'cp %p /path/to/archive/%f'

Yaxşı bu komandaları yazdıq o paremetirlərin nə işə yaradığını nə edək?

archive_mode = on: WAL arxivləməsini aktivləşdirir.
archive_command: WAL fayllarının nüsxəsini saxlamaq üçün istifadə olunan komanda. Bu nümunədə 
cp komandası ilə fayllar arxivə köçürülür.

Yaxşı hər şey okdursa bəhs bu WAL backup-nu geri qaytarmaq prosesini necə edək? Bərpa zamanı arxiv edilmiş WAL faylları istifadə edilərək verilənlər bazası tam bərpa oluna bilər.

Backup-un digər üsullarından digəri isə Automated Backup -dur bu üsul PostgreSQL backup əməliyyatlarını avtomatlaşdırmaq üçün cron job istifadə edə bilərsiniz. Məsələn, aşağıdakıları etməklə hər gecə yedək alınmasını təmin edə bilərsiniz. cron yaratmaq üçün aşağıdakı komandaya baxaq.

crontab -e

Cron taskalrını daxil etmək lazımdır.Məsələn, tapşırıq verilsə ki, ey igid hər ehtimala database-i  hər gün saat 2-də tam backup etmək lazımdır.Onda necə edəcəyik?

Bax bu koamnda ilə edilir.

0 2 * * * pg_dump -U istifadəçi_adı -h localhost -F c -b -v -f /path/to/backup_file_$(date +\%F).dump db_adı

Bərpa edəndə bəs nə edək? Tələsmə PostgreSQL-in bərpa prosesi verilənlər bazasının strukturunu və məlumatlarını əvvəlki vəziyyətə gətirmək üçün vacibdir. ehtiyyatda olan backup faylını bərpa etmək üçün pg_restore və ya SQL dump istifadə olunur.Bərpa proseduru aşağıdakı kimidir.

SQL dump nüsxəsi ilə bərpa etmək üçün aşağıdakı komandanı işə salırıq.

psql -U istifadəçi_adı -h localhost -d yeni_db_adı < /path/to/backup_file.dump

pg_restore ilə bərpa etmək üçün aşağıdakı komandanı işə salırıq.

pg_restore -U istifadəçi_adı -h localhost -d yeni_db_adı /path/to/backup_file.dump

Related Articles

Bir cavab yazın

Sizin e-poçt ünvanınız dərc edilməyəcəkdir. Gərəkli sahələr * ilə işarələnmişdir

Back to top button
ILK-10 Azeri Website Directory Top.Mail.Ru MobTop.az