From cad3e7b15c0889d330475a8e77fb6a50727240f1 Mon Sep 17 00:00:00 2001 From: Sergey Bezhenyan Date: Thu, 1 Mar 2018 10:17:32 +0300 Subject: [PATCH 1/2] Add support for alpine --- alpine/Dockerfile | 2 ++ .../create-multiple-postgresql-databases.sh | 22 +++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 alpine/Dockerfile create mode 100755 alpine/create-multiple-postgresql-databases.sh diff --git a/alpine/Dockerfile b/alpine/Dockerfile new file mode 100644 index 0000000..a66b012 --- /dev/null +++ b/alpine/Dockerfile @@ -0,0 +1,2 @@ +FROM postgres:10.2-alpine +COPY ./create-multiple-postgresql-databases.sh /docker-entrypoint-initdb.d/ diff --git a/alpine/create-multiple-postgresql-databases.sh b/alpine/create-multiple-postgresql-databases.sh new file mode 100755 index 0000000..aa665fa --- /dev/null +++ b/alpine/create-multiple-postgresql-databases.sh @@ -0,0 +1,22 @@ +#!/bin/bash + +set -e +set -u + +function create_user_and_database() { + local database=$1 + echo " Creating user and database '$database'" + psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" <<-EOSQL + CREATE USER $database; + CREATE DATABASE $database; + GRANT ALL PRIVILEGES ON DATABASE $database 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 + done + echo "Multiple databases created" +fi From a8b7160133ceb180ae71b2106b77421e3b7ca9f1 Mon Sep 17 00:00:00 2001 From: Sergey Bezhenyan Date: Fri, 2 Mar 2018 16:17:15 +0300 Subject: [PATCH 2/2] Add multiple versions. Add hstore extension --- {alpine => 10.2-alpine}/Dockerfile | 0 9.6-alpine/Dockerfile | 2 ++ Dockerfile | 1 + .../create-multiple-postgresql-databases.sh | 22 ------------------- enable_hstore.sql | 0 5 files changed, 3 insertions(+), 22 deletions(-) rename {alpine => 10.2-alpine}/Dockerfile (100%) create mode 100644 9.6-alpine/Dockerfile delete mode 100755 alpine/create-multiple-postgresql-databases.sh create mode 100644 enable_hstore.sql diff --git a/alpine/Dockerfile b/10.2-alpine/Dockerfile similarity index 100% rename from alpine/Dockerfile rename to 10.2-alpine/Dockerfile diff --git a/9.6-alpine/Dockerfile b/9.6-alpine/Dockerfile new file mode 100644 index 0000000..ff0050d --- /dev/null +++ b/9.6-alpine/Dockerfile @@ -0,0 +1,2 @@ +FROM postgres:9.6-alpine +COPY ./create-multiple-postgresql-databases.sh /docker-entrypoint-initdb.d/ diff --git a/Dockerfile b/Dockerfile index ee9c3d0..d86489f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,2 +1,3 @@ FROM postgres:9.6 COPY create-multiple-postgresql-databases.sh /docker-entrypoint-initdb.d/ +COPY enable_hstore.sql /docker-entrypoint-initdb.d/ diff --git a/alpine/create-multiple-postgresql-databases.sh b/alpine/create-multiple-postgresql-databases.sh deleted file mode 100755 index aa665fa..0000000 --- a/alpine/create-multiple-postgresql-databases.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/bash - -set -e -set -u - -function create_user_and_database() { - local database=$1 - echo " Creating user and database '$database'" - psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" <<-EOSQL - CREATE USER $database; - CREATE DATABASE $database; - GRANT ALL PRIVILEGES ON DATABASE $database 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 - done - echo "Multiple databases created" -fi diff --git a/enable_hstore.sql b/enable_hstore.sql new file mode 100644 index 0000000..e69de29