“psql:无法连接到服务器:连接被拒绝”连接到远程数据库时出错

我正尝试使用以下命令连接到安装在远程服务器上的postgres数据库:

psql -h host_ip -U db_username -d db_name

这发生的错误:

psql:无法连接到服务器:连接被拒绝服务器上运行的主机“”并接受端口5432上的TCP / IP连接?

  1. Postgres的安装版本是9.4。
  2. 主机操作系统:Ubuntu 15.04
  3. 客户端操作系统:Centos 7

我已经尝试了以下,但问题仍未解决:

  1. 包含编辑的pg_hba.conf文件

主机全部全部为0.0.0.0/0 md5

  1. 编辑'postgresql.conf'并将listen参数更改为

的listen_addresses = '*'

  1. 重新启动postgres服务。
  2. 在主机和客户端上禁用防火墙和iptables。
  3. 我通过在本地运行psql命令进行检查,它工作。
  4. 我试着在这个问题中给出的第二个解决scheme。 运行nmap给了我下面的输出:

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

我错过了什么 希望有人能帮忙。

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

打开名为postgresql.conf文件

 sudo vi postgresql.conf 

将此行添加到该文件

 listen_addresses = '*' 

然后打开名为pg_hba.conf文件

 sudo vi pg_hba.conf 

并将该行添加到该文件

 host all all 0.0.0.0/0 md5 

它允许使用加密的密码访问所有用户的所有数据库

重启你的服务器

 sudo /etc/init.d/postgresql restart 

检查postgresql.conf定义的端口。 我安装postgres 9.4使用端口5433而不是5432

确保设置在配置文件中正确应用。

 vim /etc/postgresql/xx/main/postgresql.conf 

尝试以下操作来查看日志并找到您的问题。

 tail /var/log/postgresql/postgresql-xx-main.log 

我想你使用的是机器名称而不是主机的IP地址。

当我用机器的名字尝试时,我得到了同样的错误。 因为,只有当客户端和主机都在同一个网络中并且它们具有相同的操作系统时才被允许。

在我的情况下,我没有改变管理门户中的天蓝色默认安全策略。 原来的22号港口是允许的,其余的都是拒绝的。 只要我加了5432端口,一切都变好了。