Error ini terjadi saat client tidak dapat terhubung ke server PostgreSQL. Berikut langkah-langkah untuk memperbaikinya di server 172.16.10.20:
1. Periksa Status Service PostgreSQL
ssh user@172.16.10.20 sudo systemctl status postgresql
Jika tidak aktif:
sudo systemctl start postgresql sudo systemctl enable postgresql
2. Verifikasi Konfigurasi Network (postgresql.conf)
Edit file konfigurasi:
sudo nano /etc/postgresql/*/main/postgresql.conf
Pastikan konfigurasi berikut:
listen_addresses = '*' # Bukan hanya 'localhost' port = 5432 # Port harus sama
3. Perbaiki Aturan Firewall
# Buka port 5432 sudo ufw allow 5432/tcp sudo ufw reload
4. Konfigurasi Akses Client (pg_hba.conf)
Edit file akses:
sudo nano /etc/postgresql/*/main/pg_hba.conf
Tambahkan aturan untuk client:
# Format: type database user address auth-method host all all 172.16.10.0/24 md5
5. Restart Service
sudo systemctl restart postgresql
6. Verifikasi Koneksi dari Server
# Dari server itu sendiri: psql -U username -d dbname -h 172.16.10.20
7. Test Koneksi dari Client
Dari mesin client (ganti user
dan dbname
):
telnet 172.16.10.20 5432 psql -U username -d dbname -h 172.16.10.20
Jika Masih Error
Diagnosa Jaringan:
# Di client: nc -zv 172.16.10.20 5432 # Di server: sudo netstat -tuln | grep 5432 sudo ss -tuln | grep 5432
Periksa Log PostgreSQL:
tail -f /var/log/postgresql/postgresql-*.log
Jika Menggunakan Cloud Provider:
- Pastikan security group membuka port 5432 untuk subnet 172.16.10.0/24
- Verifikasi VPC/routing tabel
Konfigurasi Minimal yang Harus Diperiksa:
File | Parameter | Nilai yang Direkomendasikan |
---|---|---|
postgresql.conf | listen_addresses | '*' |
postgresql.conf | port | 5432 |
pg_hba.conf | Host Rules | host all all 172.16.10.0/24 md5 |
Firewall | Port TCP | 5432 terbuka |
Setelah perubahan, jangan lupa restart service:
sudo systemctl restart postgresql