在进行远程备份或者登录时要手工输入密码,总是一件麻烦的事情。不过PG提供了一个简单的方法,那就是用密码文件的方式。这点PG和GP是相同的。
linux下密码文件可在home路径下新建一个名为.pgpass的文件或者引用一个PGPASSfile文件。
windows下密码文件一般放的位置是%APPDATA%\postgresql\pgpass.conf,
比如C:\documents and Settings\administrator\Application Data\postgresql
密码文件有一个约定格式:
# regular Syntax
#hostname:port:database:username:password
示例:
客户端IP:172.25.30.1
服务端IP:172.25.30.88 DB:test User:chenlq PWD:chenlq
首先在客户端创建密码文件
[postgres@localhost ~]$ vi /home/postgres/.pgpass
然后给个只读权限即可。
[postgres@localhost ~]$ chmod 400 .pgpass
[postgres@localhost ~]$ ls -al .pgpass
-r-------- 1 postgres postgres 93 03-07 15:25 .pgpass
然后往该文件中加服务端的连接信息
172.25.30.88:2012:test:chenlq:chenlq
[postgres@localhost ~]$ more .pgpass
# regular Syntax
#hostname:port:database:username:password
172.25.30.88:2012:test:chenlq:chenlq
接下来在服务端的访问控制文件(pg_hba.conf)中也添加客户端的一些信息
hosttestchenlq 172.25.30.1/32 md5
在服务端没有reload的时候我们发现,客户端连接时是要求输入密码的,
[postgres@localhost ~]$ psql -h 172.25.30.88 -dtest -U chenlq
Password for user chenlq:
reload一下
pg_ctl reload -D $PGDATA
客户端重新登录,OK了,不用输密码了。
[postgres@localhost ~]$ psql -h172.25.30.88 -dtest -U chenlq
psql (9.1.2)
Type "help" for help.
test=#
总结以上是内存溢出为你收集整理的PostgreSQL密码文件的设置全部内容,希望文章能够帮你解决PostgreSQL密码文件的设置所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)