如何以非交互方式为PostgreSQL创建的密码提供密码?

kar*_*jko 7 phing postgresql jenkins

我有一个phing的任务,在测试之前,如果存在则删除数据库并创建它.这是在Jenkins上运行的.我想用createb这样做:

<exec command="createdb my_database" />
Run Code Online (Sandbox Code Playgroud)

问题是createdb要求我进行身份验证并添加-Umy_user参数不是问题 - 问题是我无法在createdb命令中指定密码.我不想为系统用户创建角色(在本例中为"jenkins").有解决方案吗?

Dan*_*ité 17

createdb将设置PGPASSWORD环境变量,这是在非交互式运行中提供密码的一种简单方法.

另一种选择是在unix用户启动的主目录中设置.pgpass文件createdb.