我正在使用areca
备份程序,我在其中编写了一个脚本来备份postgre数据库。
我想通过pgpass.conf
文件获取密码,但我无法提供脚本的路径。
我该如何使用PGPASSFILE
?
这是我的脚本(;是分隔符):
-U;postgres;-w;-F;custom;-b;-f;D:\satraAutoBackup\Daily\Saturday\postgresql\geoMolkBackup;geoMolkPortal2
答案 0 :(得分:2)
您可以通过将环境变量PGPASSFILE
设置为pgpass.conf
的路径并删除-w
参数来实现此目的。
PS:确保将pgpass.conf
设置在安全的地方并使用NTFS权限将其锁定为例。
答案 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。