postgreSQL no pg_hba.conf

当程序连接PostgreSQL 时,可能会报错:No pg_hba.conf entry。python

这条错误的缘由是由于客户端远程访问postgresql受限所致,由于postgresql默认状况下除本机外的机器是不能链接的。sql

默认状况下,postgresql本机的链接是信任链接,只要有用户名就能够链接,不用密码. 要改变这种默认设置须要更改postgresql安装目录下的两个配置文件(pg_hba.conf与postgresql.conf)数据库

认证文件 pg_hba.conf

文件目录:postgresql安装目录下的..\PostGreSQL\9.5\data\pg_hba.conf服务器

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

例如:加密

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

联接使用的认证方法:spa

 

trust
        无条件地容许联接。这个方法容许任何能够与PostgreSQL数据库服务器联接的用户以他们指望的任意PostgreSQL 数据库用户身份进行联接,而不须要口令。postgresql

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

若是我想让10.86.12.0~10.86.12.154的IP段能访问PostgreSQL 数据库,须要增长下面一行: get

  1. host   all             all           10.86.12.0/24                  trust  

配置文件 postgresql.conf

文件目录:postgresql安装目录下的..\PostGreSQL\9.5\data\postgresql.conf

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

相关文章
相关标签/搜索