我需要在python中制作一个脚本,调用pg_restore
来恢复数据库。到目前为止,我使用了一个批处理文件,它在PGPASSWORD
中设置了真正的密码,在恢复后,它在var.中设置了垃圾
我的问题是,我必须使用SET PGPASSWORD='password'
创建一个环境变量,但我不能在环境中公开密码,因为如果还原中出现错误,PGPASSWORD
将具有真实密码。
有没有一种方法可以像firebird一样,用密码发送恢复命令?
使用Windows XP/7/8和PostgreSQL 9.x。
我建议使用.pgpass
文件。
在Microsoft Windows上,文件名为
%APPDATA%postgresqlpgpass.conf
(其中%APPDATA%
指用户配置文件中的应用程序数据子目录)
可以设置环境变量,但您尝试避免这种情况是正确的。手册中不鼓励使用
PGPASSWORD
的行为与密码连接参数相同。使用出于安全原因,不推荐使用该环境变量的,因为某些操作系统允许非root用户查看进程通过ps的环境变量;而是考虑使用~/.pgpass
文件
有关无密码访问的详细信息:
使用不带密码的psql命令运行批处理文件