標籤:
原文地址:http://blog.chinaunix.net/uid-20684384-id-1895247.html
1. 設定遠端存取認證機制
編輯 $POSTGRES/data/pg_hba.conf 檔案,
# TYPE DATABASE USER CIDR-ADDRESS METHOD# IPv4 local connections:host all all 127.0.0.1/32 md5# IPv6 local connections:#host all all ::1/128 md5
說明:
每一行有五個欄位,
# TYPE DATABASE USER CIDR-ADDRESS METHOD
分別是:連線類型、可使用的資料庫名、使用者、DIDR地址、和驗證方法等五項。
下面,我只介紹一些針對每個欄位常用的選項。
欄位一:TYPE。
可以選擇:local或host。
# TYPE DATABASE USER CIDR-ADDRESS METHOD#允許IP為192.168.0.1的所有使用者登陸到Postgres伺服器的所有資料庫,採用md5驗證。host all all 192.168.0.1/32 md5#允許使用者testuser在192.168.0.XX的網段任意機器登陸Postgres伺服器,#只能使用資料庫testdb,採用md5驗證。host testdb testuser 192.168.0.1/24 md5
2. 改監聽地址
預設下,POSTGRESQL只接受本地服務,要接受遠程服務,需改postgresql.conf 檔案listen_address = *
3. 如果是在Linux上的PostgreSQL
要開啟 “unix的tcpip通訊端”。
編輯 $POSTGRES/data/postgresql.conf 檔案,
將tcpip_socket=off改成tcpip_socket=on即可。
前者只能允許本地的使用者登陸Postgres資料庫;後者可以接受遠程客戶登陸。所以,
我們應該使用“host”。
欄位二:DATWABSE。
串連使用者可以使用的資料庫名字。可以使Postgres的一個具體的
資料庫名,也可以使用“all”來允許使用者訪問所有資料庫。
欄位三:USER。可以指定某個具體的使用者來串連Postgres資料庫(還要結合後面的地址欄位),
也可以使用“all”來允許所有使用者串連資料庫。
欄位四:DIDR-ADDRESS。
這可能會讓您不知所措,不知道它為何物。
其實,它就是IP地址與掩碼的另一種表示方法而已。
Postgres是通過這個欄位來瞭解,允許那些IP或IP網段串連此伺服器。
它的格式是: IP地址/掩碼。
這個掩碼和子網路遮罩是一個道理,只不過是用一個小於等於32的正數來表示,
表示的正是子網路遮罩中高几位為1,
比如,255.255.255.0 就是“24”,說明高24位是1。
192.168.0.1/32 相當於 IP為192.168.0.1,子網路遮罩為255.255.255.255的網段,
很顯然,這隻表明192.168.0.1IP自己。
如果您對IP地址與子網路遮罩不太瞭解,請查看相關資料。
欄位五:METHOD。
這是驗證方法。可選的有:
reject:拒絕這個IP的使用者訪問;
md5:密碼以md5作為hash編碼;
password:密碼作為明文傳輸(好恐怖!);
krb5:密碼以krb5作為hash編碼。
下面舉一個例子,來說明如何進行設定:
Postgresql 遠端連線配置