我用innosetup创建了一个安装程序,我想用它来创建一个使用psql.exe的postgresql数据库。 我用这行代码调用psql.exe:
文件名:“{app} \ PostgreSQL \ bin \ psql.exe”;参数:“ - w postgres”;
问题是psql要求输入用户密码,并且没有选项可以在一次通话中传递它。
是否可以模拟“Enter”键并在之后添加密码? 如果有其他解决方案,请告诉我。
谢谢。
答案 0 :(得分:2)
有PGPASSWORD
environment variable:
PGPASSWORD
的行为与密码连接参数相同。出于安全原因,不建议使用此环境变量,因为某些操作系统允许非root用户通过ps查看进程环境变量;而是考虑使用~/.pgpass
文件。
如上所述,还有password file,但环境变量对于安装程序可能没问题。在任何一种情况下,您都会放弃-W
开关。
您还可以构建一个专用工具来直接与PostgreSQL对话,而不是通过psql.exe
。