Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to provide a password for PostgreSQL's createdb non-interactively?

I have a task in phing where before tests I drop the database if exists and create it. This is run on Jenkins. I want to do it with createdb like this:

<exec command="createdb my_database" />

The thing is that the createdb is asking me to authenticate and adding -Umy_user parameter is not a problem - the issue is that I cannot specify a password in the createdb command. And I don't want to create a role for the system user ("jenkins" in this case). Is there a solution for that ?

like image 421
karolsojko Avatar asked Nov 12 '12 20:11

karolsojko


1 Answers

createdb will use the PGPASSWORD environment variable if it's set, that's one simple way of providing a password in non-interactive runs.

Another option would be to set up a .pgpass file in the home directory of the unix user launching the createdb.

like image 62
Daniel Vérité Avatar answered Sep 21 '22 09:09

Daniel Vérité