Senin, 15 Juli 2024

POSTGRES-pgbackrest

 

PostgreSQL Memulihkan Tabel yang Dihapus dengan pgBackRest dan PITR

https://medium.com/@rashidov/postgresql-restoring-deleted-tables-with-pgbackrest-and-pitr-d95bb0f3a847
Azik 🇮🇩
4 menit membaca
Foto oleh: www.dbsnapper.com/blog/

Dalam lanskap dinamis manajemen basis data, integritas dan ketahanan data adalah hal yang terpenting. PostgreSQL, database relasional sumber terbuka yang kuat, menawarkan solusi tangguh untuk perlindungan data, dengan pgBackrest dan Point-in-Time Recovery (PITR) sebagai fitur utama.

PostgreSQL pgBackrest: Alat Pencadangan dan Pemulihan yang Dapat Dipercaya

pgBackrest adalah alat pencadangan dan pemulihan canggih yang dirancang khusus untuk PostgreSQL. Fokusnya pada kesederhanaan dan keandalan menjadikannya pilihan populer di kalangan administrator basis data. pgBackrest unggul dalam membuat dan mengelola cadangan secara efisien, memastikan data Anda aman dan mudah dipulihkan.

Fitur utama pgBackrest meliputi:

  1. Pencadangan Tambahan: pgBackrest mengoptimalkan proses pencadangan dengan hanya menyimpan perubahan yang dibuat sejak pencadangan terakhir, sehingga mengurangi kebutuhan penyimpanan dan waktu pencadangan.
  2. Pemrosesan Paralel: Dengan kemampuan untuk melakukan pencadangan paralel, pgBackrest meningkatkan kecepatan dan efisiensi, khususnya di lingkungan database skala besar.
  3. Kompresi dan Enkripsi: Keamanan data adalah prioritas, dan pgBackrest menyediakan opsi untuk mengompresi dan mengenkripsi cadangan, menjaga informasi sensitif.

Pemulihan Point-in-Time (PITR): Pemulihan Data yang Disempurnakan

Pemulihan Point-in-Time (PITR) adalah fitur PostgreSQL yang memungkinkan Anda memulihkan database Anda ke titik waktu tertentu. Kemampuan pemulihan granular ini sangat berharga dalam skenario di mana terjadi kerusakan data atau penghapusan yang tidak disengaja.

Aspek utama PITR meliputi:

  1. Arsip Log Transaksi: PITR mengandalkan pengarsipan log transaksi database secara terus-menerus, menangkap setiap perubahan yang dilakukan pada data.
  2. Pemulihan Berbasis Timeline: Dengan memilih timeline dan momen target tertentu, Anda dapat memulihkan database PostgreSQL Anda secara tepat ke kondisi yang diinginkan.
  3. Kesiapsiagaan Pemulihan Bencana: PITR memastikan bahwa Anda siap menghadapi kejadian tak terduga, menyediakan sarana untuk kembali ke titik tertentu sebelum data rusak atau hilang.

Skenario uji PITR

Langkah 1: Pastikan Cadangan LENGKAP Terbaru:

Sebelum memulai pengujian PITR, penting untuk memiliki cadangan LENGKAP terbaru. Anda dapat memeriksa informasi cadangan menggunakan perintah pgBackrest berikut:

pgbackrest --stanza=experdb --config=/experdb/app/postgres/etc/pgbackrest/pgbackrest.conf info/experdb/app /postgres/etc /pgbackrest/pgbackrest .conf info

Perintah ini memberikan informasi mendetail tentang cadangan yang ada, memastikan Anda memiliki dasar yang diperlukan untuk pengujian.

Langkah 2: Hapus Tabel “pemain”:

Sekarang, mari kita simulasikan skenario di mana tabel “pemain” secara tidak sengaja terhapus dari database PostgreSQL. Jalankan perintah SQL berikut:

PILIH sekarang () ; 
pemain meja jatuh;
pilih * dari pg_switch_xlog () ;

Selain itu, hentikan server PostgreSQL menggunakan:

pg_ctl berhentiberhenti

Langkah 3: Lakukan PITR:

Untuk memulihkan tabel “pemain” yang dihapus, kami akan menggunakan pgBackrest untuk melakukan Pemulihan Point-in-Time. Tentukan stempel waktu tepat sebelum penghapusan tabel dengan perintah berikut:

**pgbackrest --config=/experdb/app/postgres/etc/pgbackrest/pgbackrest.conf --delta --log-level-console=detail --stanza=experdb --type=time "--target=2024- 16-01 14:43:29" --target-action=promosikan pemulihan**/experdb/app /postgres/etc/pgbackrest/pgbackrest.conf --delta -- log -level-console=detail --stanza=experdb --type= time  "--target=16-01-2024 14:43: 29" --target-action=promosikan pemulihan**

Perintah ini memulai proses PITR, memulihkan database ke stempel waktu yang ditentukan.

Langkah 4: Verifikasi Pemulihan:

Terakhir, periksa apakah tabel “pemain” telah berhasil dipulihkan menggunakan:

pg_ctl mulaiawal

Setelah menjalankan perintah ini, Anda akan melihat bahwa tabel “pemain”, yang sebelumnya dihapus, telah berhasil dipulihkan, menunjukkan efektivitas pgBackrest dalam skenario Pemulihan Point-in-Time.

Dalam pengujian PITR ini, kami merasakan bagaimana pgBackrest memungkinkan kami memulihkan data yang hilang dengan memulihkan database PostgreSQL secara efisien ke titik waktu tertentu. Melakukan pengujian PITR secara rutin dan memastikan pencadangan terkini merupakan praktik penting untuk menjaga integritas data dan meminimalkan dampak kehilangan data yang tidak disengaja.

Tidak ada komentar:

Posting Komentar