當程序連接PostgreSQL 時,可能會報錯:No pg_hba.conf entry。python
這條錯誤的緣由是由於客戶端遠程訪問postgresql受限所致,由於postgresql默認狀況下除本機外的機器是不能鏈接的。sql
默認狀況下,postgresql本機的鏈接是信任鏈接,只要有用戶名就能夠鏈接,不用密碼. 要改變這種默認設置須要更改postgresql安裝目錄下的兩個配置文件(pg_hba.conf與postgresql.conf)數據庫
文件目錄:postgresql安裝目錄下的..\PostGreSQL\9.5\data\pg_hba.conf服務器
pg_hba.conf每條記錄聲明一種聯接類型,一個客戶端 IP 地址範圍(若是和聯接類型相關的話),一個數據庫名,一個用戶名字,以及對匹配這些參數的聯接使用的認證方法。post
例如:加密
聯接使用的認證方法:spa
trust
無條件地容許聯接。這個方法容許任何能夠與PostgreSQL數據庫服務器聯接的用戶以他們指望的任意PostgreSQL 數據庫用戶身份進行聯接,而不須要口令。postgresql
md5
要求客戶端提供一個 MD5 加密的口令進行認證。md5
若是我想讓10.86.12.0~10.86.12.154的IP段能訪問PostgreSQL 數據庫,須要增長下面一行: get
文件目錄:postgresql安裝目錄下的..\PostGreSQL\9.5\data\postgresql.conf
要讓本機外的機器訪問,除了在pg_hba.conf中增長訪問的IP段外,這設置外還要把postgresql.conf裏的監聽地址設置爲:listen_addresses = '*'