PostgreSQL adalah sebuah sistem database relasional objek open source yang kuat dan merupakan salah satu basis data yang paling banyak digunakan saat ini. Salah satu fitur yang ada di dalam PostgreSQL adalah Replikasi Master/Slave.
Apa itu Replikasi ?
Replikasi database Master/Slave adalah proses menyalin data dari database pada satu server (Master) ke database server lain (Slave). Manfaat Utama dari proses ini adalah untuk mendistribusikan database ke beberapa mesin, jadi ketika server master memiliki masalah, ada mesin cadangan (Slave) dengan data yang sama tersedia untuk menangani masalah yang terjadi di server (Master).
PostgreSQL menyediakan beberapa cara untuk melakukan replikasi database. Ini dapat digunakan untuk tujuan membuat cadangan dan menyediakan server berbasis data ketersediaan tinggi(High Avaibility).
PostgreSQL mempunyai fitur pg_basebackup digunakan untuk mengambil backup dari cluster database PostgreSQL yang sedang berjalan. Cluster yang diambil tidak mempengaruhi klien lain ke database. File yang dibackup yaitu seluruh database cluster, dan tidak akan mem-backup hanya satu database atau objek database. Untuk mem-backup satu database menggunakan fitur pg_dump.
Jika Anda menggunakan pengiriman log transaksi atau Point-In-Time-Recovery di PostgreSQL untuk menjaga data Anda aman, Anda pasti sudah tahu tentang pg_basebackup. Ide di balik pg_basebackup adalah untuk memungkinkan pengguna membuat salinan biner data, yang dapat berfungsi sebagai basis untuk Point-In-Time-Recovery.
Apa yang dilakukan pg_basebackup?
Pada dasarnya pg_basebackup adalah cara untuk data melalui koneksi database. Ketika Anda memulai pg_basebackup, server akan menunggu untuk melakukan pemeriksaan dan kemudian mulai menyalin direktori data Postgres.
Tahapan yang perlu dilakukan untuk melakukan replikasi :
- Langkah 1 – Install PostgreSQL
- Langkah 2 – Mulai dan konfigurasikan PostgreSQL
- Langkah 3 – Konfigurasikan Firewalld
- Langkah 4 – Konfigurasi server Master
- Langkah 5 – Konfigurasi server Slave
- Langkah 6 – Copy PostgreSQL Data from Master to SLAVE.
Dimana pada langkah 6 disini proses replikasi dijakankan, metode umum yang biasa digunakan untuk menjalankan pg_basebackup:
pg_basebackup -P -R –xlog-method=stream –checkpoint=fast -h 10.x.x.x -D /target_dir |
R akan secara otomatis membuat file konfigurasi ketika akan menjalankan replikasi streaming. Untuk point-in-time-recovery yang ini tidak perlu dilakukan.
Ketika semua tahap sudah selesai dilakukan adalah memerika status replikasi.
Ini adalah cara termudah untuk melihat status replikasi pada server (Master).
Output beserta kueri :
postgres=# select client_addr, state, postgres-# write_lcn, replay_lcn, sync_priority from pg_stat_replication; client_addr | state | write_location | replay_location | sync_priority ————-+———–+—————-+—————-+—————–+————— 10.x.x.x | streaming | AB/416D178 | AB/416D178 | 0 (1 row) |
Anda dapat mengetahui waktu dalam detik delay transaksi yang diterapkan pada server (Slave).
Output beserta kueri :
postgres=# select now() – pg_last_xact_replay_timestamp() AS replication_delay; replication_delay ————————– 00:00:08.057668 (1 row) |
Replikasi merupakan hal yang dapat dilakukan untuk menanggulangi masalah terkait database apabila suatu saat terjadi isu atau bencana pada database utama perusahaan Anda. Apabila perusahaan Anda membutuhkan solusi manajemen data, Anda dapat melihat informasi selengkapnya melalui solusi data management kami, atau kontak langsung tim sales kami untuk info lebih lanjut.