配置不同的数据存储目录
按照官网上说的在 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 监听的只是 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' # 逗号分隔的网卡地址,按实际情况填写原文链接:https://www.f2er.com/postgresql/194288.html