
kali ini akan saya akan bantu kamu untuk setup replikasi streaming antara dua server PostgreSQL 16 satu sebagai Primary, satunya lagi sebagai Standby. Cocok banget buat high availability dan backup real-time.
| Peran | IP Contoh | Cluster | Data Directory | User OS |
|---|---|---|---|---|
| Primary | 192.168.1.10 |
prodtes |
/var/lib/postgres |
postgres |
| Standby | 192.168.1.20 |
prodtes |
/data/postgres |
postgres |
π Pastikan PostgreSQL 16 sudah terinstall di kedua server, ya.
pg_hba.confTambahkan ini supaya Standby bisa connect:
host replication replicator 192.168.1.20/32 md
Login sebagai postgres, lalu jalankan:
-- Reload config dulu
SELECT pg_reload_conf();
-- Buat role khusus untuk replikasi
CREATE ROLE replicator WITH LOGIN REPLICATION PASSWORD 'repl1c4';
-- Buat physical replication slot
SELECT pg_create_physical_replication_slot('standby_slot_20');
# Stop service dulu
pg_ctlcluster 16 prodtes stop
# Hapus semua data lama
rm -rf /data/postgres/*
pg_basebackup -h 192.168.1.10 -D /data/postgres \\
-U replicator -P -R --slot=standby_slot_20