我正尝试使用以下命令连接到安装在远程服务器上的postgres数据库:
psql -h host_ip
-U db_username
-d db_name
这发生的错误:
psql:无法连接到服务器:连接被拒绝服务器上运行的主机“”并接受端口5432上的TCP / IP连接?
我已经尝试了以下,但问题仍未解决:
pg_hba.conf
文件 主机全部全部为0.0.0.0/0 md5
的listen_addresses = '*'
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端口,一切都变好了。