如何使用PGPASSFILE环境变量?

时间:2014-03-06 07:43:09

标签: postgresql

我正在使用areca备份程序,我在其中编写了一个脚本来备份postgre数据库。 我想通过pgpass.conf文件获取密码,但我无法提供脚本的路径。 我该如何使用PGPASSFILE? 这是我的脚本(;是分隔符):

-U;postgres;-w;-F;custom;-b;-f;D:\satraAutoBackup\Daily\Saturday\postgresql\geoMolkBackup;geoMolkPortal2

2 个答案:

答案 0 :(得分:2)

您可以通过将环境变量PGPASSFILE设置为pgpass.conf的路径并删除-w参数来实现此目的。

PS:确保将pgpass.conf设置在安全的地方并使用NTFS权限将其锁定为例。

wiki page

上的用例

答案 1 :(得分:2)

1)创建包含内容的.pgpass文件

  

主机:5432:somedb:SomeUser是否:somepass

2)使用命令

设置权限
  

sudo chmod 600 .pgpass

3)将文件所有者设置为您登录时使用的用户:

  

sudo chown login_username:login_username .pgpass

4)设置PGPASSFILE环境变量:

  

导出PGPASSFILE =' /home/user/.pgpass'

现在通过连接数据库进行检查(删除-w):

  

psql -h host -U someuser somedb

它不会提示输入密码并登录到postgresql。