Lewati ke konten utama

Replikasi di PostgreSQL

Pendahuluan

Replikasi di PostgreSQL memungkinkan data di satu server (primary) disalin secara otomatis ke server lain (standby). Hal ini meningkatkan ketersediaan data, mendukung pemulihan bencana, dan meningkatkan kinerja dengan membagi beban kerja antar server.

Jenis Replikasi di PostgreSQL

  1. Replikasi Streaming

    • Menggunakan protokol biner untuk mengirim perubahan data dari primary ke standby secara real-time.
    • Memerlukan konfigurasi wal_level = replica dan aktivasi hot_standby.
  2. Replikasi Logikal

    • Memungkinkan replikasi hanya tabel atau skema tertentu.
    • Cocok untuk migrasi atau sinkronisasi antara database dengan struktur berbeda.
  3. Replikasi Berbasis File (WAL Shipping)

    • Menggunakan log transaksi (WAL) untuk mengirim perubahan ke server standby.
    • Memerlukan konfigurasi pengiriman WAL dengan archive_mode = on.

Mengkonfigurasi Replikasi Streaming

1. Konfigurasi Server Primary

Edit file postgresql.conf:

wal_level = replica
max_wal_senders = 5
hot_standby = on

Tambahkan entri di pg_hba.conf untuk mengizinkan replikasi:

host replication replicator 192.168.1.2/32 md5

Buat user untuk replikasi:

CREATE ROLE replicator WITH REPLICATION LOGIN PASSWORD 'password';

2. Konfigurasi Server Standby

Salin data dari server primary:

pg_basebackup -h 192.168.1.1 -D /var/lib/postgresql/data -U replicator -P -R

Jalankan server standby:

pg_ctl -D /var/lib/postgresql/data start

Monitoring Replikasi

Gunakan perintah berikut untuk memeriksa status replikasi:

SELECT * FROM pg_stat_replication;

Kesimpulan

Replikasi PostgreSQL memungkinkan redundansi data dan peningkatan performa. Dengan metode yang tepat, sistem database bisa lebih stabil, aman, dan siap menghadapi kegagalan.