EnterpriseDb 或者PostgreSQL 设置密码自动保存

Postgresql 和EnterpriseDb 设置密码自动保存
 在 Windows 下使用 pgAdmin III  连接到数据库服务器时,如果选择了“保存密码”, 则 pgAdmin III 将数据库密码以明文保存在 $User_Home\Application Data\postgresql\pgpass.conf

文件中(C:\Documents and Settings\enterprisedb\Application Data\postgresql),估计之前的其它版本也是此。 但看pgpass.conf
localhost:5444:edb:enterprisedb:Xm1234567
上面的格式是
hostname:port:dbname:user:passwd

所以如果我们想设置保存密码可以在如上添加记录即可(在自动备份是非常有用),以下是在Window 和Linux 的设置方法:
跳过md5密码认证的方法
windows
1、设置环境变量PGPASSWORD,e.g
set PGPASSWORD=密码
2、创建pgpass.conf文件,设置环境变量PGPASSFILE,内容格式如下
hostname:port:database:username:password
e.g
192.168.1.251:5432:*:postgres:密码
set PGPASSFILE=d:/pgsql/data/pgpass.conf

我在dos 下使用>set PGPASSFILE=C:\Documents and Settings\enterprisedb\Application Data\postgresql\pgpass.conf
居然沒有用,(原來通过命令set 设置的变量是临时变量,所以。。。。,没办法,为了快捷,我通过我的电脑--》右键属性进行设置,可以了)
或者可以在自动备份的脚步中添加也是可以的 ,呵呵。。

linux
1、设置环境变量PGPASSWORD,e.g
export PGPASSWORD=密码
2、创建.pgpass文件,设置环境变量PGPASSFILE,内容格式如下
hostname:port:database:username:password
e.g
192.168.1.251:5432:*:postgres:密码
export PGPASSFILE=/home/postgres/.pgpass
chmod 0600 /home/postgres/.pgpass


hostname:port:database:username:password头四个字段每个都可以是一个文本值,或者 *,它匹配所有的东西。第一个匹配当前连接参数的口令行的口令域将得以使用。(因此,如果你使用了通配符

,那么应该把最具体的记录放在前面。)如果记录包含 : 或者 \ ,应该用 \ 逃逸。一个 localhost 的主机名匹配来自本机的 host(TCP)和 local (Unix 域套接字)。

.pgpass 的权限必须不允许任何全局或者同组的用户访问;我们可以用命令 chmod 0600 ~/.pgpass 实现这个目的。如果权限比这个松,这个文件将被忽略。(不过目前在 Microsoft Windows 上没有检

查这个文件的权限。)

http://blog.sina.com.cn/s/blog_4e74e42a01000aq4.html



 

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年11月    »
123
45678910
11121314151617
18192021222324
252627282930
搜索
标签列表
网站分类
最新留言
    文章归档
    友情链接

    Powered By Z-BlogPHP 1.7.3

    Copyright Your WebSite.Some Rights Reserved.闽ICP备11018667号-2