微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

程序链接PostgreSQL 时报错"no pg_hba.conf entry"

当程序链接Postgresql 时,可能会报错:No pg_hba.conf entry。

这条错误的原因是因为客户端远程访问postgresql受限所致,因为postgresql认情况下除本机外的机器是不能连接的。

认情况下,postgresql本机的连接是信任连接,只要有用户名就可以连接,不用密码. 要改变这种认设置需要更改postgresql安装目录下的两个配置文件(pg_hba.conf与postgresql.conf)

认证文件 pg_hba.conf

pg_hba.conf每条记录声明一种联接类型,一个客户端 IP 地址范围(如果和联接类型相关的话),一个数据库名,一个用户名字,以及对匹配这些参数的联接使用的认证方法

例如:

##Added by liu.chunming
local  all             all                                          peer
host   all             all           127.0.0.1/32                   md5
host   all             all           ::1/128                        md5
联接使用的认证方法

trust
无条件地允许联接。这个方法允许任何可以与Postgresql数据库服务器联接的用户以他们期望的任意Postgresql 数据库用户身份进行联接,而不需要口令。

md5
要求客户端提供一个 MD5 加密的口令进行认证。

如果我想让10.86.12.0~10.86.12.154的IP段能访问Postgresql 数据库,需要增加下面一行:

host   all             all           10.86.12.0/24                  trust

配置文件 postgresql.conf

要让本机外的机器访问,除了在pg_hba.conf中增加访问的IP段外,这设置外还要把postgresql.conf里的监听地址设置为:listen_addresses = '*'

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐