diff --git a/10/alpine/docker-entrypoint.sh b/10/alpine/docker-entrypoint.sh index 72cdc53d65..609f3cfc1e 100755 --- a/10/alpine/docker-entrypoint.sh +++ b/10/alpine/docker-entrypoint.sh @@ -188,7 +188,13 @@ docker_process_sql() { # create initial database # uses environment variables for input: POSTGRES_DB docker_setup_db() { - if [ "$POSTGRES_DB" != 'postgres' ]; then + local dbAlreadyExists + dbAlreadyExists="$( + POSTGRES_DB= docker_process_sql --dbname postgres --set db="$POSTGRES_DB" --tuples-only <<-'EOSQL' + SELECT 1 FROM pg_database WHERE datname = :'db' ; + EOSQL + )" + if [ -z "$dbAlreadyExists" ]; then POSTGRES_DB= docker_process_sql --dbname postgres --set db="$POSTGRES_DB" <<-'EOSQL' CREATE DATABASE :"db" ; EOSQL diff --git a/10/docker-entrypoint.sh b/10/docker-entrypoint.sh index 51d871b717..90202e0524 100755 --- a/10/docker-entrypoint.sh +++ b/10/docker-entrypoint.sh @@ -188,7 +188,13 @@ docker_process_sql() { # create initial database # uses environment variables for input: POSTGRES_DB docker_setup_db() { - if [ "$POSTGRES_DB" != 'postgres' ]; then + local dbAlreadyExists + dbAlreadyExists="$( + POSTGRES_DB= docker_process_sql --dbname postgres --set db="$POSTGRES_DB" --tuples-only <<-'EOSQL' + SELECT 1 FROM pg_database WHERE datname = :'db' ; + EOSQL + )" + if [ -z "$dbAlreadyExists" ]; then POSTGRES_DB= docker_process_sql --dbname postgres --set db="$POSTGRES_DB" <<-'EOSQL' CREATE DATABASE :"db" ; EOSQL diff --git a/11/alpine/docker-entrypoint.sh b/11/alpine/docker-entrypoint.sh index 72cdc53d65..609f3cfc1e 100755 --- a/11/alpine/docker-entrypoint.sh +++ b/11/alpine/docker-entrypoint.sh @@ -188,7 +188,13 @@ docker_process_sql() { # create initial database # uses environment variables for input: POSTGRES_DB docker_setup_db() { - if [ "$POSTGRES_DB" != 'postgres' ]; then + local dbAlreadyExists + dbAlreadyExists="$( + POSTGRES_DB= docker_process_sql --dbname postgres --set db="$POSTGRES_DB" --tuples-only <<-'EOSQL' + SELECT 1 FROM pg_database WHERE datname = :'db' ; + EOSQL + )" + if [ -z "$dbAlreadyExists" ]; then POSTGRES_DB= docker_process_sql --dbname postgres --set db="$POSTGRES_DB" <<-'EOSQL' CREATE DATABASE :"db" ; EOSQL diff --git a/11/docker-entrypoint.sh b/11/docker-entrypoint.sh index 51d871b717..90202e0524 100755 --- a/11/docker-entrypoint.sh +++ b/11/docker-entrypoint.sh @@ -188,7 +188,13 @@ docker_process_sql() { # create initial database # uses environment variables for input: POSTGRES_DB docker_setup_db() { - if [ "$POSTGRES_DB" != 'postgres' ]; then + local dbAlreadyExists + dbAlreadyExists="$( + POSTGRES_DB= docker_process_sql --dbname postgres --set db="$POSTGRES_DB" --tuples-only <<-'EOSQL' + SELECT 1 FROM pg_database WHERE datname = :'db' ; + EOSQL + )" + if [ -z "$dbAlreadyExists" ]; then POSTGRES_DB= docker_process_sql --dbname postgres --set db="$POSTGRES_DB" <<-'EOSQL' CREATE DATABASE :"db" ; EOSQL diff --git a/12/alpine/docker-entrypoint.sh b/12/alpine/docker-entrypoint.sh index 72cdc53d65..609f3cfc1e 100755 --- a/12/alpine/docker-entrypoint.sh +++ b/12/alpine/docker-entrypoint.sh @@ -188,7 +188,13 @@ docker_process_sql() { # create initial database # uses environment variables for input: POSTGRES_DB docker_setup_db() { - if [ "$POSTGRES_DB" != 'postgres' ]; then + local dbAlreadyExists + dbAlreadyExists="$( + POSTGRES_DB= docker_process_sql --dbname postgres --set db="$POSTGRES_DB" --tuples-only <<-'EOSQL' + SELECT 1 FROM pg_database WHERE datname = :'db' ; + EOSQL + )" + if [ -z "$dbAlreadyExists" ]; then POSTGRES_DB= docker_process_sql --dbname postgres --set db="$POSTGRES_DB" <<-'EOSQL' CREATE DATABASE :"db" ; EOSQL diff --git a/12/docker-entrypoint.sh b/12/docker-entrypoint.sh index 51d871b717..90202e0524 100755 --- a/12/docker-entrypoint.sh +++ b/12/docker-entrypoint.sh @@ -188,7 +188,13 @@ docker_process_sql() { # create initial database # uses environment variables for input: POSTGRES_DB docker_setup_db() { - if [ "$POSTGRES_DB" != 'postgres' ]; then + local dbAlreadyExists + dbAlreadyExists="$( + POSTGRES_DB= docker_process_sql --dbname postgres --set db="$POSTGRES_DB" --tuples-only <<-'EOSQL' + SELECT 1 FROM pg_database WHERE datname = :'db' ; + EOSQL + )" + if [ -z "$dbAlreadyExists" ]; then POSTGRES_DB= docker_process_sql --dbname postgres --set db="$POSTGRES_DB" <<-'EOSQL' CREATE DATABASE :"db" ; EOSQL diff --git a/13/alpine/docker-entrypoint.sh b/13/alpine/docker-entrypoint.sh index 72cdc53d65..609f3cfc1e 100755 --- a/13/alpine/docker-entrypoint.sh +++ b/13/alpine/docker-entrypoint.sh @@ -188,7 +188,13 @@ docker_process_sql() { # create initial database # uses environment variables for input: POSTGRES_DB docker_setup_db() { - if [ "$POSTGRES_DB" != 'postgres' ]; then + local dbAlreadyExists + dbAlreadyExists="$( + POSTGRES_DB= docker_process_sql --dbname postgres --set db="$POSTGRES_DB" --tuples-only <<-'EOSQL' + SELECT 1 FROM pg_database WHERE datname = :'db' ; + EOSQL + )" + if [ -z "$dbAlreadyExists" ]; then POSTGRES_DB= docker_process_sql --dbname postgres --set db="$POSTGRES_DB" <<-'EOSQL' CREATE DATABASE :"db" ; EOSQL diff --git a/13/docker-entrypoint.sh b/13/docker-entrypoint.sh index 51d871b717..90202e0524 100755 --- a/13/docker-entrypoint.sh +++ b/13/docker-entrypoint.sh @@ -188,7 +188,13 @@ docker_process_sql() { # create initial database # uses environment variables for input: POSTGRES_DB docker_setup_db() { - if [ "$POSTGRES_DB" != 'postgres' ]; then + local dbAlreadyExists + dbAlreadyExists="$( + POSTGRES_DB= docker_process_sql --dbname postgres --set db="$POSTGRES_DB" --tuples-only <<-'EOSQL' + SELECT 1 FROM pg_database WHERE datname = :'db' ; + EOSQL + )" + if [ -z "$dbAlreadyExists" ]; then POSTGRES_DB= docker_process_sql --dbname postgres --set db="$POSTGRES_DB" <<-'EOSQL' CREATE DATABASE :"db" ; EOSQL diff --git a/9.5/alpine/docker-entrypoint.sh b/9.5/alpine/docker-entrypoint.sh index 0e0e2e914b..f78e529344 100755 --- a/9.5/alpine/docker-entrypoint.sh +++ b/9.5/alpine/docker-entrypoint.sh @@ -188,7 +188,13 @@ docker_process_sql() { # create initial database # uses environment variables for input: POSTGRES_DB docker_setup_db() { - if [ "$POSTGRES_DB" != 'postgres' ]; then + local dbAlreadyExists + dbAlreadyExists="$( + POSTGRES_DB= docker_process_sql --dbname postgres --set db="$POSTGRES_DB" --tuples-only <<-'EOSQL' + SELECT 1 FROM pg_database WHERE datname = :'db' ; + EOSQL + )" + if [ -z "$dbAlreadyExists" ]; then POSTGRES_DB= docker_process_sql --dbname postgres --set db="$POSTGRES_DB" <<-'EOSQL' CREATE DATABASE :"db" ; EOSQL diff --git a/9.5/docker-entrypoint.sh b/9.5/docker-entrypoint.sh index 49374701a6..24ea4ba84f 100755 --- a/9.5/docker-entrypoint.sh +++ b/9.5/docker-entrypoint.sh @@ -188,7 +188,13 @@ docker_process_sql() { # create initial database # uses environment variables for input: POSTGRES_DB docker_setup_db() { - if [ "$POSTGRES_DB" != 'postgres' ]; then + local dbAlreadyExists + dbAlreadyExists="$( + POSTGRES_DB= docker_process_sql --dbname postgres --set db="$POSTGRES_DB" --tuples-only <<-'EOSQL' + SELECT 1 FROM pg_database WHERE datname = :'db' ; + EOSQL + )" + if [ -z "$dbAlreadyExists" ]; then POSTGRES_DB= docker_process_sql --dbname postgres --set db="$POSTGRES_DB" <<-'EOSQL' CREATE DATABASE :"db" ; EOSQL diff --git a/9.6/alpine/docker-entrypoint.sh b/9.6/alpine/docker-entrypoint.sh index 0e0e2e914b..f78e529344 100755 --- a/9.6/alpine/docker-entrypoint.sh +++ b/9.6/alpine/docker-entrypoint.sh @@ -188,7 +188,13 @@ docker_process_sql() { # create initial database # uses environment variables for input: POSTGRES_DB docker_setup_db() { - if [ "$POSTGRES_DB" != 'postgres' ]; then + local dbAlreadyExists + dbAlreadyExists="$( + POSTGRES_DB= docker_process_sql --dbname postgres --set db="$POSTGRES_DB" --tuples-only <<-'EOSQL' + SELECT 1 FROM pg_database WHERE datname = :'db' ; + EOSQL + )" + if [ -z "$dbAlreadyExists" ]; then POSTGRES_DB= docker_process_sql --dbname postgres --set db="$POSTGRES_DB" <<-'EOSQL' CREATE DATABASE :"db" ; EOSQL diff --git a/9.6/docker-entrypoint.sh b/9.6/docker-entrypoint.sh index 49374701a6..24ea4ba84f 100755 --- a/9.6/docker-entrypoint.sh +++ b/9.6/docker-entrypoint.sh @@ -188,7 +188,13 @@ docker_process_sql() { # create initial database # uses environment variables for input: POSTGRES_DB docker_setup_db() { - if [ "$POSTGRES_DB" != 'postgres' ]; then + local dbAlreadyExists + dbAlreadyExists="$( + POSTGRES_DB= docker_process_sql --dbname postgres --set db="$POSTGRES_DB" --tuples-only <<-'EOSQL' + SELECT 1 FROM pg_database WHERE datname = :'db' ; + EOSQL + )" + if [ -z "$dbAlreadyExists" ]; then POSTGRES_DB= docker_process_sql --dbname postgres --set db="$POSTGRES_DB" <<-'EOSQL' CREATE DATABASE :"db" ; EOSQL diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh index 51d871b717..90202e0524 100755 --- a/docker-entrypoint.sh +++ b/docker-entrypoint.sh @@ -188,7 +188,13 @@ docker_process_sql() { # create initial database # uses environment variables for input: POSTGRES_DB docker_setup_db() { - if [ "$POSTGRES_DB" != 'postgres' ]; then + local dbAlreadyExists + dbAlreadyExists="$( + POSTGRES_DB= docker_process_sql --dbname postgres --set db="$POSTGRES_DB" --tuples-only <<-'EOSQL' + SELECT 1 FROM pg_database WHERE datname = :'db' ; + EOSQL + )" + if [ -z "$dbAlreadyExists" ]; then POSTGRES_DB= docker_process_sql --dbname postgres --set db="$POSTGRES_DB" <<-'EOSQL' CREATE DATABASE :"db" ; EOSQL