Pertama-tama uji apakah Anda dapat terhubung ke database melalui psql :
psql -h ip_address -d name_of_the_database -U username
Jika Anda mendapatkan kesalahan koneksi ditolak, Anda harus mengatur sesuatu yang salah dan memeriksa Apa yang harus saya periksa jika koneksi jarak jauh ke PostgreSQL tidak berfungsi?
psql: could not connect to server: Connection refused Is the server running on host ip_address
Apa yang harus saya periksa jika koneksi jarak jauh ke PostgreSQL tidak berfungsi?
-
Periksa konfigurasi otentikasi di
pg_hba.conf
Biasanya terletak di linux -
/etc/postgresql/version/main/pg_hba.conf
.Anda harus mengizinkan otentikasi untuk klien untuk IP tertentu semua dari semua alamat IP:# Database administrative login by Unix domain socket local all postgres peer # TYPE DATABASE USER ADDRESS METHOD # "local" is for Unix domain socket connections only local all all peer # IPv4 local connections: host all all 0.0.0.0/0 md5 # IPv6 local connections: host all all ::0/0 md5 #all ips host all all all md5
Informasi lebih lanjut tentang cara mengatur
pg_hba.conf
Anda dapat menemukannya di dokumentasi . -
Maka Anda harus mengatur mendengarkan pada port tertentu.
Anda harus menemukan
postgresql.conf
. Biasanya terletak/etc/postgresql/9.1/main/postgresql.conf
) file dan ubah baris dengan listen_address dari:#listen_address = ''
to (jangan lupa hapus # yang artinya komentar):
listen_address = '*'
-
Setelah setiap langkah, Anda harus memulai ulang layanan Postgresql:
sudo service postgresql restart
-
Setelah langkah 2 Anda akan melihat port 5432 (atau 5433) di alamat mendengarkan setelah perintah netstat:
netstat -ntlp
-
Setelah itu Anda harus membuka port untuk PostgreSQL di firewall:
sudo ufw allow 5432
Anda dapat memeriksa pengaturan firewall dengan (Anda akan melihat 5432 dalam daftar):
sudo ufw status
-
Jika salah satu langkah sebelumnya tidak berhasil, Anda harus memeriksa apakah PostgreSQL tidak berjalan pada port yang berbeda (biasanya 5433) dan ulangi langkah sebelumnya.
Ini sangat sering terjadi ketika Anda memiliki lebih banyak versi PostgreSQL yang sedang berjalan atau Anda memutakhirkan basis data dan lupa menghentikan versi PostgreSQL sebelumnya.
Jika Anda memiliki masalah untuk menemukan file konfigurasi, Anda dapat memeriksa utas ini Di mana file *.conf postgres saya? .