linux上安装的postgresql,客户端因为端口问题无法连接

问题:客户因为端口问题,服务连接服务器上的postgresql数据库

 分析:使用 ss -tnl 命令查询服务器网络端口状态


linux上安装的postgresql,客户端因为端口问题无法连接_第1张图片

           1.服务器上的防火墙没有设置5432端口好。http://www.cnblogs.com/moxiaoan/p/5683743.html

            2.pg_hba.conf是客户端认证配置文件 http://www.cnblogs.com/hiloves/archive/2011/08/20/2147043.html


linux上安装的postgresql,客户端因为端口问题无法连接_第2张图片

            METHOD指定如何处理客户端的认证。常用的有ident,md5,password,trust,reject。           

            ident是Linux下PostgreSQL默认的local认证方式,凡是能正确登录服务器的操作系统用户(注:不是数据库用户)就能使用本用户映射的              数据库用户不需密码登录数据库。用户映射文件为pg_ident.conf,这个文件记录着与操作系统用户匹配的数据库用户,如果某操作系统用              户在本文件中没有映射用户,则默认的映射数据库用户与操作系统用户同名。比如,服务器上有名为user1的操作系统用户,同时数据库上            也有同名的数据库用户,user1登录操作系统后可以直接输入psql,以user1数据库用户身份登录数据库且不需密码。很多初学者都会遇到                 psql -U username登录数据库却出现“username ident 认证失败”的错误,明明数据库用户已经createuser。原因就在于此,使用了ident          认证方式,却没有同名的操作系统用户或没有相应的映射用户。解决方案:1、在pg_ident.conf中添加映射用户;2、改变认证方式。

            md5是常用的密码认证方式,如果你不使用ident,最好使用md5。密码是以md5形式传送给数据库,较安全,且不需建立同名的操作系统用户。

            3.postgresql.conf 配置文件中:listen_addresses 监听地址设置;

这个参数只有在启动数据库时,才能被设置。它指定数据库用来监听客户端连接的TCP/IP地址。默认是值是* ,表示数据库在启动以后将在运行数据的机器上的所有的IP地址上监听用户请求(如果机器只有一个网卡,只有一个IP地址,有多个网卡的机器有多个 IP地址)。可以写成机器的名字,也可以写成IP地址,不同的值用逗号分开,例如,’server01’, ’140.87.171.49, 140.87.171.21’。如果被设成localhost,表示数据库只能接受本地的客户端连接请求,不能接受远程的客户端连接请求。           

linux上安装的postgresql,客户端因为端口问题无法连接_第3张图片

结果:再次使用客户端连接数据库后,连接成功


linux上安装的postgresql,客户端因为端口问题无法连接_第4张图片

你可能感兴趣的:(linux上安装的postgresql,客户端因为端口问题无法连接)