From 7ea86aa0b5ac105ae174084e4dda13fa8de23e0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Shada=C3=AF=20ALI?= Date: Fri, 25 Oct 2019 20:02:12 +0100 Subject: [PATCH 1/5] add support for POSTGRES_USER and POSTGRES_PASSWORD envs --- create-multiple-postgresql-databases.sh | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/create-multiple-postgresql-databases.sh b/create-multiple-postgresql-databases.sh index aa665fa..0eea107 100755 --- a/create-multiple-postgresql-databases.sh +++ b/create-multiple-postgresql-databases.sh @@ -5,18 +5,21 @@ set -u function create_user_and_database() { local database=$1 + local user=$2 + local password=$3 + echo " Creating user and database '$database'" psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" <<-EOSQL - CREATE USER $database; + CREATE $user USER WITH ENCRYPTED PASSWORD $password; CREATE DATABASE $database; - GRANT ALL PRIVILEGES ON DATABASE $database TO $database; + GRANT ALL PRIVILEGES ON DATABASE $user TO $database; EOSQL } if [ -n "$POSTGRES_MULTIPLE_DATABASES" ]; then echo "Multiple database creation requested: $POSTGRES_MULTIPLE_DATABASES" for db in $(echo $POSTGRES_MULTIPLE_DATABASES | tr ',' ' '); do - create_user_and_database $db + create_user_and_database $db $POSTGRES_USER $POSTGRES_PASSWORD done echo "Multiple databases created" fi From f0f92733f87b75d809077f827dd32974af87f1f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Shada=C3=AF=20ALI?= Date: Fri, 25 Oct 2019 20:29:22 +0100 Subject: [PATCH 2/5] Update create-multiple-postgresql-databases.sh --- create-multiple-postgresql-databases.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/create-multiple-postgresql-databases.sh b/create-multiple-postgresql-databases.sh index 0eea107..06f069e 100755 --- a/create-multiple-postgresql-databases.sh +++ b/create-multiple-postgresql-databases.sh @@ -10,7 +10,7 @@ function create_user_and_database() { echo " Creating user and database '$database'" psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" <<-EOSQL - CREATE $user USER WITH ENCRYPTED PASSWORD $password; + CREATE USER $user WITH ENCRYPTED PASSWORD $password; CREATE DATABASE $database; GRANT ALL PRIVILEGES ON DATABASE $user TO $database; EOSQL From 9b3aa9151e63f779a9f6fddd34011e374d17aaa4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Shada=C3=AF=20ALI?= Date: Fri, 25 Oct 2019 20:51:05 +0100 Subject: [PATCH 3/5] fix : user creation inside db creation loop --- create-multiple-postgresql-databases.sh | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/create-multiple-postgresql-databases.sh b/create-multiple-postgresql-databases.sh index 06f069e..21e44c8 100755 --- a/create-multiple-postgresql-databases.sh +++ b/create-multiple-postgresql-databases.sh @@ -3,23 +3,26 @@ set -e set -u -function create_user_and_database() { +function create_databases() { local database=$1 local user=$2 - local password=$3 echo " Creating user and database '$database'" psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" <<-EOSQL - CREATE USER $user WITH ENCRYPTED PASSWORD $password; CREATE DATABASE $database; GRANT ALL PRIVILEGES ON DATABASE $user TO $database; EOSQL } if [ -n "$POSTGRES_MULTIPLE_DATABASES" ]; then + echo "User $POSTGRES_USER creation..." + psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" <<-EOSQL + CREATE USER $POSTGRES_USER WITH ENCRYPTED PASSWORD $POSTGRES_PASSWORD; +EOSQL + echo "Multiple database creation requested: $POSTGRES_MULTIPLE_DATABASES" for db in $(echo $POSTGRES_MULTIPLE_DATABASES | tr ',' ' '); do - create_user_and_database $db $POSTGRES_USER $POSTGRES_PASSWORD + create_databases $db $POSTGRES_USER done echo "Multiple databases created" fi From cd495f3fc1f3163486985517ebc3e502b23ea53b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Shada=C3=AF=20ALI?= Date: Fri, 25 Oct 2019 21:13:07 +0100 Subject: [PATCH 4/5] Update create-multiple-postgresql-databases.sh --- create-multiple-postgresql-databases.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/create-multiple-postgresql-databases.sh b/create-multiple-postgresql-databases.sh index 21e44c8..3f9f499 100755 --- a/create-multiple-postgresql-databases.sh +++ b/create-multiple-postgresql-databases.sh @@ -15,10 +15,10 @@ EOSQL } if [ -n "$POSTGRES_MULTIPLE_DATABASES" ]; then - echo "User $POSTGRES_USER creation..." - psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" <<-EOSQL - CREATE USER $POSTGRES_USER WITH ENCRYPTED PASSWORD $POSTGRES_PASSWORD; -EOSQL + # echo "User $POSTGRES_USER creation..." +# psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" <<-EOSQL +# CREATE USER $POSTGRES_USER WITH ENCRYPTED PASSWORD $POSTGRES_PASSWORD; +#EOSQL echo "Multiple database creation requested: $POSTGRES_MULTIPLE_DATABASES" for db in $(echo $POSTGRES_MULTIPLE_DATABASES | tr ',' ' '); do From 9ce66c500c2af69c1dc2e6842a9da8c9cc1fb9d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Shada=C3=AF=20ALI?= Date: Fri, 25 Oct 2019 21:19:15 +0100 Subject: [PATCH 5/5] Update create-multiple-postgresql-databases.sh --- create-multiple-postgresql-databases.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/create-multiple-postgresql-databases.sh b/create-multiple-postgresql-databases.sh index 3f9f499..f60fca4 100755 --- a/create-multiple-postgresql-databases.sh +++ b/create-multiple-postgresql-databases.sh @@ -10,7 +10,7 @@ function create_databases() { echo " Creating user and database '$database'" psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" <<-EOSQL CREATE DATABASE $database; - GRANT ALL PRIVILEGES ON DATABASE $user TO $database; + GRANT ALL PRIVILEGES ON DATABASE $database TO $user; EOSQL }