优草派  >   Python

怎么解决PostgreSQL其他机器无法访问的问题?通过这两个方法轻松解决

陈立鑫            来源:优草派

小编有时候在使用PostgreSQL的时候会出现:PostgreSQL其他机器无法访问的问题,报错:No pg_hba.conf entry,小编一时也不知道如何来解决,后来通过查阅资料,成功解决了这个问题,接下来我就给大家分享一下我是如何解决这个问题的。

怎么解决PostgreSQL其他机器无法访问的问题?通过这两个方法轻松解决

当其他机器连接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

##Added by liu.chunming
 local  all             all                                          peer
 host   all             all           127.0.0.1/32                   md5
 host   all             all           ::1/128                        md5

连接使用的认证方法:

(1)trust

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

(2)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 = '*'
【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。
TOP 10
  • 周排行
  • 月排行