Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

"psql: could not connect to server: Connection refused" Error when connecting to remote database

I am trying to connect to a Postgres database installed in a remote server using the following command:

psql -h host_ip -U db_username -d db_name

This is the error that occurs:

psql: could not connect to server: Connection refused Is the server running on host "<host_ip>" and accepting TCP/IP connections on port 5432?

  1. Postgres installed version is 9.4.
  2. Host operating system: Ubuntu 15.04
  3. Client operating system: Centos 7

I already tried the following but the issue remains unresolved:

  1. Edited pg_hba.conf file to include

host all all 0.0.0.0/0 md5

  1. Edited 'postgresql.conf' and changed the listen parameter to

listen_addresses='*'

  1. Restarted Postgres service.
  2. Disabled firewall and iptables on host and client.
  3. I checked by running the psql command locally and it worked.
  4. I tried the second solution given in this question. Running nmap gave me the following output:

Starting Nmap 6.47 ( http://nmap.org ) at 2015-09-07 18:08 IST Nmap scan report for 10.17.250.250 Host is up (0.0000040s latency). Not shown: 997 closed ports PORT STATE SERVICE 22/tcp open ssh 25/tcp open smtp 80/tcp open http

Am I missing something? Hope someone can help.

like image 680
Poonam Anthony Avatar asked Sep 07 '15 12:09

Poonam Anthony


People also ask

Can't connect to server connection refused postgres?

“Could not connect to server: Connection refused” To be sure that PostgreSQL is running, you can also restart it with systemctl restart postgresql. If this does not fix the problem, the most likely cause of this error is that PostgreSQL is not configured to allow TCP/IP connections.

Can't connect to server connection refused PostgreSQL windows?

If the connection is still failing, then there might be a permission issue in the pg_hba. conf access configuration file. Make sure this is set up correctly to accept connections from your IP. Finally, ensure there are no firewalls or iptables on the Postgres server that are blocking connections.


2 Answers

cd /etc/postgresql/9.x/main/ 

open file named postgresql.conf

sudo vi postgresql.conf 

add this line to that file

listen_addresses = '*' 

then open file named pg_hba.conf

sudo vi pg_hba.conf 

and add this line to that file

host  all  all 0.0.0.0/0 md5 

It allows access to all databases for all users with an encrypted password

restart your server

sudo /etc/init.d/postgresql restart 
like image 73
Thameem Avatar answered Sep 21 '22 22:09

Thameem


Check the port defined in postgresql.conf. My installation of postgres 9.4 uses port 5433 instead of 5432

like image 21
jorge Godoy Avatar answered Sep 19 '22 22:09

jorge Godoy