PostgreSQL的psql客户端各种连接错误总结

时间:2022-08-02 20:22:01

磨砺技术珠矶,践行数据之道,追求卓越价值
回到上一级页面: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索引页
磨砺技术珠矶,践行数据之道,追求卓越价值