Postgresql容許遠程訪問配置修改

兩處修改:sql

1.postgresql.conf數據庫

listen_addresses項值設定爲「*」,在9.0 Windows版中,該項配置已是「*」無需修改。安全

2.pg_hba.conf服務器

host all all 127.0.0.1/32 md5行下添加如下配置ide

host    all    all    0.0.0.0/0    md5post

若是不但願容許全部IP遠程訪問,則能夠將上述配置項中的0.0.0.0設定爲特定的IP值。spa

Linux下可經過find . -name "pg_hba.conf" 查找文件位置操作系統

window下 直接安裝目錄下 data/ 例如:C:\Program Files\PostgreSQL\9.3\datapostgresql

 

************詳解***************blog

 

METHOD指定如何處理客戶端的認證。經常使用的有ident,md5,password,trust,reject

ident是Linux下PostgreSQL默認的local認證方式,凡是能正確登陸服務器的操做系統用戶(注:不是數據庫用戶)就能使用本用戶映射的數據庫用戶不需密碼登陸數據庫。用戶映射文件爲pg_ident.conf,這個文件記錄着與操做系統用戶匹配的數據庫用戶,若是某操做系統用戶在本文件中沒有映射用戶,則默認的映射數據庫用戶與操做系統用戶同名。好比,服務器上有名爲user1的操做系統用戶,同時數據庫上也有同名的數據庫用戶,user1登陸操做系統後能夠直接輸入psql,以user1數據庫用戶身份登陸數據庫且不需密碼。不少初學者都會遇到psql -U username登陸數據庫卻出現「username ident 認證失敗」的錯誤,明明數據庫用戶已經createuser。緣由就在於此,使用了ident認證方式,卻沒有同名的操做系統用戶或沒有相應的映射用戶。解決方案:一、在pg_ident.conf中添加映射用戶;二、改變認證方式。

md5是經常使用的密碼認證方式,若是你不使用ident,最好使用md5。密碼是以md5形式傳送給數據庫,較安全,且不需創建同名的操做系統用戶。

password是以明文密碼傳送給數據庫,建議不要在生產環境中使用。

trust是隻要知道數據庫用戶名就不須要密碼或ident就能登陸,建議不要在生產環境中使用。

reject是拒絕認證。

相關文章
相關標籤/搜索