安装
1、yum install postgresql postgresql-server
2、初始化数据库以及启动服务
service postgresql initdb
service postgresql start
3、postgresql的端口号5432 有防火墙的时候需要开放
配置
yum安装postgresql后的安装路径为:/var/lib/pgsql下,主要配置文件在其data文件夹下,进入data文件夹
1、修改postgresql.conf文件
如果想让PostgreSQL监听整个网络的话,将listen_addresses前的#去掉,并将listen_addresses = 'localhost'改成listen_addresses = '*'
2、修改pg_hba.conf
这个文件最后有一个列表,它决定了分派了每一个用户的权限,以及认证方式。格式是“Type Database User Address Method”,要注意的是method最好写md5。
在列表后追加一行:host all all 192.168.1.0/24 password
3、修改postgres用户密码:passwd postgres
4、暂时将pg_hba.conf中,本机的认证方式改为trust,切换当前用户为postgres:su postgres
5、用psql登录PostgreSQL系统,“SELECT * FROM pg_shadow;”,发现这个表里的postgres这个用户根本还没有存储密码;于是,再“ALTER USER postgres PASSWORD '它的密码';
6、重启服务/etc/init.d/postgresql restart,连接成功。
远程连接 psql -h IP -p 5432 -d luoyun -U postgres
问题
psql.bin: FATAL: password authentication failed for user "postgres"
明明添加了postgres这个用户, 口令也简单的不得了,不可能记错的, 怎么就连不上呢?
上网查,有人说修改pg_hba.conf, 把local一行的md5改成trust。一试,果然好使。
后来,客户机远程登录,出现同样问题,于是咱如法炮制,再把md5改成了trust,也能登录了,
只要获取对方的信任(trust),问题真的就不是问题了,呵。
参考链接
http://zxggmail.iteye.com/blog/1481278
http://www.2cto.com/database/201204/126854.html
http://www.postgresql.org/docs/8.1/interactive/client-authentication.html