配置不同的数据存储目录
按照官网上说的在 initdb
阶段加 -D path
/ --pgdata=path
好像并没什么作用, 不知道是不是 CentOS6 的启动脚本写得有问题, 遂直接改了 /etc/init.d/postgres-X.Y
里的一行配置
PGDATA=path
再 initdb
就好了.
---
网络访问控制
CentOS 果然是各种奇葩, 装好之后默认的验证方式都是 ident
, 实际上要改成 password
才行.
这时要启动 PG, 并且连上去执行一下
show hba_file
PG 会返回一个配置文件路径, 去这里改掉一行
# host all all 127.0.0.1/32 ident
# 改为下面这样
host all all 127.0.0.1/32 password
顺手可加上允许内网其他机器访问的规则, 比如
host all all 192.168.0.0/16 password
但是, 这样其实仍然无法从内网其他机器访问, 因为可能 PG 监听 (bind
) 的只是 127.0.0.1
% 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
这个配置 (很可能这个配置被注释掉了, 那么加上它)
listen_addresses = 'localhost,192.168.x.x' # 逗号分隔的网卡地址, 按实际情况填写