按照官網上說的在 initdb
階段加 -D path
--pgdata=path
好像並沒什麼做用, 不知道是否是 CentOS6 的啓動腳本寫得有問題, 遂直接改了 /etc/init.d/postgres-X.Y
裏的一行配置sql
PGDATA=path
再 initdb
就行了.網絡
CentOS 果真是各類奇葩, 裝好以後默認的驗證方式都是 ident, 實際上要改爲 password
才行.tcp
這時要啓動 PG, 而且連上去執行一下ide
show hba_file
PG 會返回一個配置文件路徑, 去這裏改掉一行post
# host all all 127.0.0.1/32 ident # 改成下面這樣 host all all 127.0.0.1/32 password
順手可加上容許內網其餘機器訪問的規則, 好比postgresql
host all all 192.168.0.0/16 password
可是, 這樣其實仍然沒法從內網其餘機器訪問, 由於可能 PG 監聽的只是 127.0.0.1code
% netstat -natp | grep 5432 tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 1542/postgres
若是是這樣的話, 要去改 postgresql.conf (與 hba_file 在同一個目錄下), 找到 listen_addresses
這個配置 (極可能這個配置被註釋掉了, 那麼加上它)it
listen_addresses = 'localhost,192.168.x.x' # 逗號分隔的網卡地址, 按實際狀況填寫