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 = '*'

相關文章
相關標籤/搜索