Postgresql 遠程連接配置

原文地址: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編碼。

下面舉一個例子,來說明如何進行設置:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章