【发布时间】:2015-12-25 18:39:47
【问题描述】:
我想远程连接到 Postgres 实例。我知道我们可以使用传递主机名的 psql 命令来做到这一点
我尝试了以下方法:
psql -U postgres -p 5432 -h hostname
我修改了目标机器上的/etc/postgresql/9.3/main/pg_hba.conf文件,默认允许远程连接
我在文件中添加了以下行
host all all source_ip/32 trust
我使用
重新启动了集群pg_ctlcluster 9.2 mycluster stop
pg_ctlcluster 9.2 mycluster start
但是,当我尝试从 source_ip 连接时,我仍然收到错误
服务器是否在主机 "" 上运行并接受端口 5432 上的 TCP/IP 连接?
我在这里做错了什么?
【问题讨论】:
-
postgres 服务器运行在什么操作系统上?
-
检查防火墙设置,以便端口 5432 开放以接受连接
-
假设您的客户端机器有
ssh,您也可以尝试通过设置 ssh 隧道:ssh -L 5432:localhost:5432 your_server_ip并以与连接到 localhost db 相同的方式连接到远程 postgres。这可以帮助调试。 -
默认情况下,postgresql 只侦听 localhost(许多发行版保留此默认值不变)将 listen_addresses 的值调整为 '*' 以使 postgresql 侦听您机器上的所有地址。
标签: postgresql psql