多命令执行

时间:2011-08-25 01:07:14

标签: inno-setup postgresql

我用innosetup创建了一个安装程序,我想用它来创建一个使用psql.exe的postgresql数据库。 我用这行代码调用psql.exe:

文件名:“{app} \ PostgreSQL \ bin \ psql.exe”;参数:“ - w postgres”;

问题是psql要求输入用户密码,并且没有选项可以在一次通话中传递它。

是否可以模拟“Enter”键并在之后添加密码? 如果有其他解决方案,请告诉我。

谢谢。

1 个答案:

答案 0 :(得分:2)

PGPASSWORD environment variable

  

PGPASSWORD的行为与密码连接参数相同。出于安全原因,不建议使用此环境变量,因为某些操作系统允许非root用户通过ps查看进程环境变量;而是考虑使用~/.pgpass文件。

如上所述,还有password file,但环境变量对于安装程序可能没问题。在任何一种情况下,您都会放弃-W开关。

您还可以构建一个专用工具来直接与PostgreSQL对话,而不是通过psql.exe