PostgreSQL的psql客户端各种连接错误总结
磨砺技术珠矶,践行数据之道,追求卓越价值
回到上一级页面:PostgreSQL基础知识与基本操作索引页 回到顶级页面:PostgreSQL索引页
[作者 高健@博客园 luckyjackgao@gmail.com]
错误类型1:
[postgres@cent6 pgsql]$ ./bin/psql -h 192.168.246.134 -p 5432 -d postgres
psql: could not connect to server: Connection refused
Is the server running on host "16.157.246.134" and accepting
TCP/IP connections on port 5432?
[postgres@cent6 pgsql]$
这种是说 数据库服务器未允许 此机器的连接请求。
原因有两种:
原因1:postgresql.conf 的 listen_addresses 为缺省值'localhost'。
如果改为'*',表示从本服务器的所有网卡地址监听外部请求,此时可以接受外部来的请求。
原因2:pg_hba.conf 中没有允许 此机器的ip/user/database 连接请求的行设定。
错误类型2:
[postgres@cent6 pgsql]$ ./bin/psql -h 192.168.246.134 -p 5432 psql: could not connect to server: No route to host
Is the server running on host "192.168.246.134" and accepting
TCP/IP connections on port 5432?
[postgres@cent6 pgsql]$
这时,可能Ping是可以ping通,原因一般是服务器端或者客户端机器上设了防火墙,封堵了5432端口。
事实上,此时用 telnet ip 5432 去看,同样会得到 No route to host 的信息。
[postgres@cent6 pgsql]$ telnet 192.168.246.134 5432
Trying 192.168.246.134...
telnet: connect to address 192.168.246.134: No route to host
[postgres@cent6 pgsql]$
[作者 高健@博客园 luckyjackgao@gmail.com]
回到上一级页面:PostgreSQL基础知识与基本操作索引页 回到顶级页面:PostgreSQL索引页
磨砺技术珠矶,践行数据之道,追求卓越价值