You've already forked postgres
mirror of
https://github.com/docker-library/postgres.git
synced 2025-07-26 23:21:10 +03:00
Utilize "initdb" functionality better to allow "POSTGRES_INITDB_ARGS=--auth-local=md5"
This also closes a slight bug we've had previously where the "postgres" user is _always_ created (now we only create the user specified via the environment variables).
This commit is contained in:
@ -65,11 +65,14 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
echo "postgres:x:$(id -g):" > "$NSS_WRAPPER_GROUP"
|
echo "postgres:x:$(id -g):" > "$NSS_WRAPPER_GROUP"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
file_env 'POSTGRES_USER' 'postgres'
|
||||||
|
file_env 'POSTGRES_PASSWORD'
|
||||||
|
|
||||||
file_env 'POSTGRES_INITDB_ARGS'
|
file_env 'POSTGRES_INITDB_ARGS'
|
||||||
if [ "$POSTGRES_INITDB_WALDIR" ]; then
|
if [ "$POSTGRES_INITDB_WALDIR" ]; then
|
||||||
export POSTGRES_INITDB_ARGS="$POSTGRES_INITDB_ARGS --waldir $POSTGRES_INITDB_WALDIR"
|
export POSTGRES_INITDB_ARGS="$POSTGRES_INITDB_ARGS --waldir $POSTGRES_INITDB_WALDIR"
|
||||||
fi
|
fi
|
||||||
eval "initdb --username=postgres $POSTGRES_INITDB_ARGS"
|
eval 'initdb --username="$POSTGRES_USER" --pwfile=<(echo "$POSTGRES_PASSWORD") '"$POSTGRES_INITDB_ARGS"
|
||||||
|
|
||||||
# unset/cleanup "nss_wrapper" bits
|
# unset/cleanup "nss_wrapper" bits
|
||||||
if [ "${LD_PRELOAD:-}" = '/usr/lib/libnss_wrapper.so' ]; then
|
if [ "${LD_PRELOAD:-}" = '/usr/lib/libnss_wrapper.so' ]; then
|
||||||
@ -79,9 +82,7 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
|
|
||||||
# check password first so we can output the warning before postgres
|
# check password first so we can output the warning before postgres
|
||||||
# messes it up
|
# messes it up
|
||||||
file_env 'POSTGRES_PASSWORD'
|
if [ -n "$POSTGRES_PASSWORD" ]; then
|
||||||
if [ "$POSTGRES_PASSWORD" ]; then
|
|
||||||
pass="PASSWORD :'pass'"
|
|
||||||
authMethod=md5
|
authMethod=md5
|
||||||
else
|
else
|
||||||
# The - option suppresses leading tabs but *not* spaces. :)
|
# The - option suppresses leading tabs but *not* spaces. :)
|
||||||
@ -99,7 +100,6 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
****************************************************
|
****************************************************
|
||||||
EOWARN
|
EOWARN
|
||||||
|
|
||||||
pass=
|
|
||||||
authMethod=trust
|
authMethod=trust
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -110,34 +110,23 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
|
|
||||||
# internal start of server in order to allow set-up using psql-client
|
# internal start of server in order to allow set-up using psql-client
|
||||||
# does not listen on external TCP/IP and waits until start finishes
|
# does not listen on external TCP/IP and waits until start finishes
|
||||||
PGUSER="${PGUSER:-postgres}" \
|
PGUSER="${PGUSER:-$POSTGRES_USER}" \
|
||||||
pg_ctl -D "$PGDATA" \
|
pg_ctl -D "$PGDATA" \
|
||||||
-o "-c listen_addresses=''" \
|
-o "-c listen_addresses=''" \
|
||||||
-w start
|
-w start
|
||||||
|
|
||||||
file_env 'POSTGRES_USER' 'postgres'
|
|
||||||
file_env 'POSTGRES_DB' "$POSTGRES_USER"
|
file_env 'POSTGRES_DB' "$POSTGRES_USER"
|
||||||
|
|
||||||
psql=( psql -v ON_ERROR_STOP=1 )
|
export PGPASSWORD="${PGPASSWORD:-$POSTGRES_PASSWORD}"
|
||||||
|
psql=( psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --no-password )
|
||||||
|
|
||||||
if [ "$POSTGRES_DB" != 'postgres' ]; then
|
if [ "$POSTGRES_DB" != 'postgres' ]; then
|
||||||
"${psql[@]}" --username postgres --set db="$POSTGRES_DB" <<-'EOSQL'
|
"${psql[@]}" --dbname postgres --set db="$POSTGRES_DB" <<-'EOSQL'
|
||||||
CREATE DATABASE :"db" ;
|
CREATE DATABASE :"db" ;
|
||||||
EOSQL
|
EOSQL
|
||||||
echo
|
echo
|
||||||
fi
|
fi
|
||||||
|
psql+=( --dbname "$POSTGRES_DB" )
|
||||||
if [ "$POSTGRES_USER" = 'postgres' ]; then
|
|
||||||
op='ALTER'
|
|
||||||
else
|
|
||||||
op='CREATE'
|
|
||||||
fi
|
|
||||||
"${psql[@]}" --username postgres --set user="$POSTGRES_USER" --set pass="$POSTGRES_PASSWORD" <<-EOSQL
|
|
||||||
$op USER :"user" WITH SUPERUSER $pass ;
|
|
||||||
EOSQL
|
|
||||||
echo
|
|
||||||
|
|
||||||
psql+=( --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" )
|
|
||||||
|
|
||||||
echo
|
echo
|
||||||
for f in /docker-entrypoint-initdb.d/*; do
|
for f in /docker-entrypoint-initdb.d/*; do
|
||||||
@ -160,9 +149,11 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
echo
|
echo
|
||||||
done
|
done
|
||||||
|
|
||||||
PGUSER="${PGUSER:-postgres}" \
|
PGUSER="${PGUSER:-$POSTGRES_USER}" \
|
||||||
pg_ctl -D "$PGDATA" -m fast -w stop
|
pg_ctl -D "$PGDATA" -m fast -w stop
|
||||||
|
|
||||||
|
unset PGPASSWORD
|
||||||
|
|
||||||
echo
|
echo
|
||||||
echo 'PostgreSQL init process complete; ready for start up.'
|
echo 'PostgreSQL init process complete; ready for start up.'
|
||||||
echo
|
echo
|
||||||
|
@ -65,11 +65,14 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
echo "postgres:x:$(id -g):" > "$NSS_WRAPPER_GROUP"
|
echo "postgres:x:$(id -g):" > "$NSS_WRAPPER_GROUP"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
file_env 'POSTGRES_USER' 'postgres'
|
||||||
|
file_env 'POSTGRES_PASSWORD'
|
||||||
|
|
||||||
file_env 'POSTGRES_INITDB_ARGS'
|
file_env 'POSTGRES_INITDB_ARGS'
|
||||||
if [ "$POSTGRES_INITDB_WALDIR" ]; then
|
if [ "$POSTGRES_INITDB_WALDIR" ]; then
|
||||||
export POSTGRES_INITDB_ARGS="$POSTGRES_INITDB_ARGS --waldir $POSTGRES_INITDB_WALDIR"
|
export POSTGRES_INITDB_ARGS="$POSTGRES_INITDB_ARGS --waldir $POSTGRES_INITDB_WALDIR"
|
||||||
fi
|
fi
|
||||||
eval "initdb --username=postgres $POSTGRES_INITDB_ARGS"
|
eval 'initdb --username="$POSTGRES_USER" --pwfile=<(echo "$POSTGRES_PASSWORD") '"$POSTGRES_INITDB_ARGS"
|
||||||
|
|
||||||
# unset/cleanup "nss_wrapper" bits
|
# unset/cleanup "nss_wrapper" bits
|
||||||
if [ "${LD_PRELOAD:-}" = '/usr/lib/libnss_wrapper.so' ]; then
|
if [ "${LD_PRELOAD:-}" = '/usr/lib/libnss_wrapper.so' ]; then
|
||||||
@ -79,9 +82,7 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
|
|
||||||
# check password first so we can output the warning before postgres
|
# check password first so we can output the warning before postgres
|
||||||
# messes it up
|
# messes it up
|
||||||
file_env 'POSTGRES_PASSWORD'
|
if [ -n "$POSTGRES_PASSWORD" ]; then
|
||||||
if [ "$POSTGRES_PASSWORD" ]; then
|
|
||||||
pass="PASSWORD :'pass'"
|
|
||||||
authMethod=md5
|
authMethod=md5
|
||||||
else
|
else
|
||||||
# The - option suppresses leading tabs but *not* spaces. :)
|
# The - option suppresses leading tabs but *not* spaces. :)
|
||||||
@ -99,7 +100,6 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
****************************************************
|
****************************************************
|
||||||
EOWARN
|
EOWARN
|
||||||
|
|
||||||
pass=
|
|
||||||
authMethod=trust
|
authMethod=trust
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -110,34 +110,23 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
|
|
||||||
# internal start of server in order to allow set-up using psql-client
|
# internal start of server in order to allow set-up using psql-client
|
||||||
# does not listen on external TCP/IP and waits until start finishes
|
# does not listen on external TCP/IP and waits until start finishes
|
||||||
PGUSER="${PGUSER:-postgres}" \
|
PGUSER="${PGUSER:-$POSTGRES_USER}" \
|
||||||
pg_ctl -D "$PGDATA" \
|
pg_ctl -D "$PGDATA" \
|
||||||
-o "-c listen_addresses=''" \
|
-o "-c listen_addresses=''" \
|
||||||
-w start
|
-w start
|
||||||
|
|
||||||
file_env 'POSTGRES_USER' 'postgres'
|
|
||||||
file_env 'POSTGRES_DB' "$POSTGRES_USER"
|
file_env 'POSTGRES_DB' "$POSTGRES_USER"
|
||||||
|
|
||||||
psql=( psql -v ON_ERROR_STOP=1 )
|
export PGPASSWORD="${PGPASSWORD:-$POSTGRES_PASSWORD}"
|
||||||
|
psql=( psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --no-password )
|
||||||
|
|
||||||
if [ "$POSTGRES_DB" != 'postgres' ]; then
|
if [ "$POSTGRES_DB" != 'postgres' ]; then
|
||||||
"${psql[@]}" --username postgres --set db="$POSTGRES_DB" <<-'EOSQL'
|
"${psql[@]}" --dbname postgres --set db="$POSTGRES_DB" <<-'EOSQL'
|
||||||
CREATE DATABASE :"db" ;
|
CREATE DATABASE :"db" ;
|
||||||
EOSQL
|
EOSQL
|
||||||
echo
|
echo
|
||||||
fi
|
fi
|
||||||
|
psql+=( --dbname "$POSTGRES_DB" )
|
||||||
if [ "$POSTGRES_USER" = 'postgres' ]; then
|
|
||||||
op='ALTER'
|
|
||||||
else
|
|
||||||
op='CREATE'
|
|
||||||
fi
|
|
||||||
"${psql[@]}" --username postgres --set user="$POSTGRES_USER" --set pass="$POSTGRES_PASSWORD" <<-EOSQL
|
|
||||||
$op USER :"user" WITH SUPERUSER $pass ;
|
|
||||||
EOSQL
|
|
||||||
echo
|
|
||||||
|
|
||||||
psql+=( --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" )
|
|
||||||
|
|
||||||
echo
|
echo
|
||||||
for f in /docker-entrypoint-initdb.d/*; do
|
for f in /docker-entrypoint-initdb.d/*; do
|
||||||
@ -160,9 +149,11 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
echo
|
echo
|
||||||
done
|
done
|
||||||
|
|
||||||
PGUSER="${PGUSER:-postgres}" \
|
PGUSER="${PGUSER:-$POSTGRES_USER}" \
|
||||||
pg_ctl -D "$PGDATA" -m fast -w stop
|
pg_ctl -D "$PGDATA" -m fast -w stop
|
||||||
|
|
||||||
|
unset PGPASSWORD
|
||||||
|
|
||||||
echo
|
echo
|
||||||
echo 'PostgreSQL init process complete; ready for start up.'
|
echo 'PostgreSQL init process complete; ready for start up.'
|
||||||
echo
|
echo
|
||||||
|
@ -65,11 +65,14 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
echo "postgres:x:$(id -g):" > "$NSS_WRAPPER_GROUP"
|
echo "postgres:x:$(id -g):" > "$NSS_WRAPPER_GROUP"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
file_env 'POSTGRES_USER' 'postgres'
|
||||||
|
file_env 'POSTGRES_PASSWORD'
|
||||||
|
|
||||||
file_env 'POSTGRES_INITDB_ARGS'
|
file_env 'POSTGRES_INITDB_ARGS'
|
||||||
if [ "$POSTGRES_INITDB_WALDIR" ]; then
|
if [ "$POSTGRES_INITDB_WALDIR" ]; then
|
||||||
export POSTGRES_INITDB_ARGS="$POSTGRES_INITDB_ARGS --waldir $POSTGRES_INITDB_WALDIR"
|
export POSTGRES_INITDB_ARGS="$POSTGRES_INITDB_ARGS --waldir $POSTGRES_INITDB_WALDIR"
|
||||||
fi
|
fi
|
||||||
eval "initdb --username=postgres $POSTGRES_INITDB_ARGS"
|
eval 'initdb --username="$POSTGRES_USER" --pwfile=<(echo "$POSTGRES_PASSWORD") '"$POSTGRES_INITDB_ARGS"
|
||||||
|
|
||||||
# unset/cleanup "nss_wrapper" bits
|
# unset/cleanup "nss_wrapper" bits
|
||||||
if [ "${LD_PRELOAD:-}" = '/usr/lib/libnss_wrapper.so' ]; then
|
if [ "${LD_PRELOAD:-}" = '/usr/lib/libnss_wrapper.so' ]; then
|
||||||
@ -79,9 +82,7 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
|
|
||||||
# check password first so we can output the warning before postgres
|
# check password first so we can output the warning before postgres
|
||||||
# messes it up
|
# messes it up
|
||||||
file_env 'POSTGRES_PASSWORD'
|
if [ -n "$POSTGRES_PASSWORD" ]; then
|
||||||
if [ "$POSTGRES_PASSWORD" ]; then
|
|
||||||
pass="PASSWORD :'pass'"
|
|
||||||
authMethod=md5
|
authMethod=md5
|
||||||
else
|
else
|
||||||
# The - option suppresses leading tabs but *not* spaces. :)
|
# The - option suppresses leading tabs but *not* spaces. :)
|
||||||
@ -99,7 +100,6 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
****************************************************
|
****************************************************
|
||||||
EOWARN
|
EOWARN
|
||||||
|
|
||||||
pass=
|
|
||||||
authMethod=trust
|
authMethod=trust
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -110,34 +110,23 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
|
|
||||||
# internal start of server in order to allow set-up using psql-client
|
# internal start of server in order to allow set-up using psql-client
|
||||||
# does not listen on external TCP/IP and waits until start finishes
|
# does not listen on external TCP/IP and waits until start finishes
|
||||||
PGUSER="${PGUSER:-postgres}" \
|
PGUSER="${PGUSER:-$POSTGRES_USER}" \
|
||||||
pg_ctl -D "$PGDATA" \
|
pg_ctl -D "$PGDATA" \
|
||||||
-o "-c listen_addresses=''" \
|
-o "-c listen_addresses=''" \
|
||||||
-w start
|
-w start
|
||||||
|
|
||||||
file_env 'POSTGRES_USER' 'postgres'
|
|
||||||
file_env 'POSTGRES_DB' "$POSTGRES_USER"
|
file_env 'POSTGRES_DB' "$POSTGRES_USER"
|
||||||
|
|
||||||
psql=( psql -v ON_ERROR_STOP=1 )
|
export PGPASSWORD="${PGPASSWORD:-$POSTGRES_PASSWORD}"
|
||||||
|
psql=( psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --no-password )
|
||||||
|
|
||||||
if [ "$POSTGRES_DB" != 'postgres' ]; then
|
if [ "$POSTGRES_DB" != 'postgres' ]; then
|
||||||
"${psql[@]}" --username postgres --set db="$POSTGRES_DB" <<-'EOSQL'
|
"${psql[@]}" --dbname postgres --set db="$POSTGRES_DB" <<-'EOSQL'
|
||||||
CREATE DATABASE :"db" ;
|
CREATE DATABASE :"db" ;
|
||||||
EOSQL
|
EOSQL
|
||||||
echo
|
echo
|
||||||
fi
|
fi
|
||||||
|
psql+=( --dbname "$POSTGRES_DB" )
|
||||||
if [ "$POSTGRES_USER" = 'postgres' ]; then
|
|
||||||
op='ALTER'
|
|
||||||
else
|
|
||||||
op='CREATE'
|
|
||||||
fi
|
|
||||||
"${psql[@]}" --username postgres --set user="$POSTGRES_USER" --set pass="$POSTGRES_PASSWORD" <<-EOSQL
|
|
||||||
$op USER :"user" WITH SUPERUSER $pass ;
|
|
||||||
EOSQL
|
|
||||||
echo
|
|
||||||
|
|
||||||
psql+=( --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" )
|
|
||||||
|
|
||||||
echo
|
echo
|
||||||
for f in /docker-entrypoint-initdb.d/*; do
|
for f in /docker-entrypoint-initdb.d/*; do
|
||||||
@ -160,9 +149,11 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
echo
|
echo
|
||||||
done
|
done
|
||||||
|
|
||||||
PGUSER="${PGUSER:-postgres}" \
|
PGUSER="${PGUSER:-$POSTGRES_USER}" \
|
||||||
pg_ctl -D "$PGDATA" -m fast -w stop
|
pg_ctl -D "$PGDATA" -m fast -w stop
|
||||||
|
|
||||||
|
unset PGPASSWORD
|
||||||
|
|
||||||
echo
|
echo
|
||||||
echo 'PostgreSQL init process complete; ready for start up.'
|
echo 'PostgreSQL init process complete; ready for start up.'
|
||||||
echo
|
echo
|
||||||
|
@ -65,11 +65,14 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
echo "postgres:x:$(id -g):" > "$NSS_WRAPPER_GROUP"
|
echo "postgres:x:$(id -g):" > "$NSS_WRAPPER_GROUP"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
file_env 'POSTGRES_USER' 'postgres'
|
||||||
|
file_env 'POSTGRES_PASSWORD'
|
||||||
|
|
||||||
file_env 'POSTGRES_INITDB_ARGS'
|
file_env 'POSTGRES_INITDB_ARGS'
|
||||||
if [ "$POSTGRES_INITDB_WALDIR" ]; then
|
if [ "$POSTGRES_INITDB_WALDIR" ]; then
|
||||||
export POSTGRES_INITDB_ARGS="$POSTGRES_INITDB_ARGS --waldir $POSTGRES_INITDB_WALDIR"
|
export POSTGRES_INITDB_ARGS="$POSTGRES_INITDB_ARGS --waldir $POSTGRES_INITDB_WALDIR"
|
||||||
fi
|
fi
|
||||||
eval "initdb --username=postgres $POSTGRES_INITDB_ARGS"
|
eval 'initdb --username="$POSTGRES_USER" --pwfile=<(echo "$POSTGRES_PASSWORD") '"$POSTGRES_INITDB_ARGS"
|
||||||
|
|
||||||
# unset/cleanup "nss_wrapper" bits
|
# unset/cleanup "nss_wrapper" bits
|
||||||
if [ "${LD_PRELOAD:-}" = '/usr/lib/libnss_wrapper.so' ]; then
|
if [ "${LD_PRELOAD:-}" = '/usr/lib/libnss_wrapper.so' ]; then
|
||||||
@ -79,9 +82,7 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
|
|
||||||
# check password first so we can output the warning before postgres
|
# check password first so we can output the warning before postgres
|
||||||
# messes it up
|
# messes it up
|
||||||
file_env 'POSTGRES_PASSWORD'
|
if [ -n "$POSTGRES_PASSWORD" ]; then
|
||||||
if [ "$POSTGRES_PASSWORD" ]; then
|
|
||||||
pass="PASSWORD :'pass'"
|
|
||||||
authMethod=md5
|
authMethod=md5
|
||||||
else
|
else
|
||||||
# The - option suppresses leading tabs but *not* spaces. :)
|
# The - option suppresses leading tabs but *not* spaces. :)
|
||||||
@ -99,7 +100,6 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
****************************************************
|
****************************************************
|
||||||
EOWARN
|
EOWARN
|
||||||
|
|
||||||
pass=
|
|
||||||
authMethod=trust
|
authMethod=trust
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -110,34 +110,23 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
|
|
||||||
# internal start of server in order to allow set-up using psql-client
|
# internal start of server in order to allow set-up using psql-client
|
||||||
# does not listen on external TCP/IP and waits until start finishes
|
# does not listen on external TCP/IP and waits until start finishes
|
||||||
PGUSER="${PGUSER:-postgres}" \
|
PGUSER="${PGUSER:-$POSTGRES_USER}" \
|
||||||
pg_ctl -D "$PGDATA" \
|
pg_ctl -D "$PGDATA" \
|
||||||
-o "-c listen_addresses=''" \
|
-o "-c listen_addresses=''" \
|
||||||
-w start
|
-w start
|
||||||
|
|
||||||
file_env 'POSTGRES_USER' 'postgres'
|
|
||||||
file_env 'POSTGRES_DB' "$POSTGRES_USER"
|
file_env 'POSTGRES_DB' "$POSTGRES_USER"
|
||||||
|
|
||||||
psql=( psql -v ON_ERROR_STOP=1 )
|
export PGPASSWORD="${PGPASSWORD:-$POSTGRES_PASSWORD}"
|
||||||
|
psql=( psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --no-password )
|
||||||
|
|
||||||
if [ "$POSTGRES_DB" != 'postgres' ]; then
|
if [ "$POSTGRES_DB" != 'postgres' ]; then
|
||||||
"${psql[@]}" --username postgres --set db="$POSTGRES_DB" <<-'EOSQL'
|
"${psql[@]}" --dbname postgres --set db="$POSTGRES_DB" <<-'EOSQL'
|
||||||
CREATE DATABASE :"db" ;
|
CREATE DATABASE :"db" ;
|
||||||
EOSQL
|
EOSQL
|
||||||
echo
|
echo
|
||||||
fi
|
fi
|
||||||
|
psql+=( --dbname "$POSTGRES_DB" )
|
||||||
if [ "$POSTGRES_USER" = 'postgres' ]; then
|
|
||||||
op='ALTER'
|
|
||||||
else
|
|
||||||
op='CREATE'
|
|
||||||
fi
|
|
||||||
"${psql[@]}" --username postgres --set user="$POSTGRES_USER" --set pass="$POSTGRES_PASSWORD" <<-EOSQL
|
|
||||||
$op USER :"user" WITH SUPERUSER $pass ;
|
|
||||||
EOSQL
|
|
||||||
echo
|
|
||||||
|
|
||||||
psql+=( --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" )
|
|
||||||
|
|
||||||
echo
|
echo
|
||||||
for f in /docker-entrypoint-initdb.d/*; do
|
for f in /docker-entrypoint-initdb.d/*; do
|
||||||
@ -160,9 +149,11 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
echo
|
echo
|
||||||
done
|
done
|
||||||
|
|
||||||
PGUSER="${PGUSER:-postgres}" \
|
PGUSER="${PGUSER:-$POSTGRES_USER}" \
|
||||||
pg_ctl -D "$PGDATA" -m fast -w stop
|
pg_ctl -D "$PGDATA" -m fast -w stop
|
||||||
|
|
||||||
|
unset PGPASSWORD
|
||||||
|
|
||||||
echo
|
echo
|
||||||
echo 'PostgreSQL init process complete; ready for start up.'
|
echo 'PostgreSQL init process complete; ready for start up.'
|
||||||
echo
|
echo
|
||||||
|
@ -65,11 +65,14 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
echo "postgres:x:$(id -g):" > "$NSS_WRAPPER_GROUP"
|
echo "postgres:x:$(id -g):" > "$NSS_WRAPPER_GROUP"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
file_env 'POSTGRES_USER' 'postgres'
|
||||||
|
file_env 'POSTGRES_PASSWORD'
|
||||||
|
|
||||||
file_env 'POSTGRES_INITDB_ARGS'
|
file_env 'POSTGRES_INITDB_ARGS'
|
||||||
if [ "$POSTGRES_INITDB_XLOGDIR" ]; then
|
if [ "$POSTGRES_INITDB_XLOGDIR" ]; then
|
||||||
export POSTGRES_INITDB_ARGS="$POSTGRES_INITDB_ARGS --xlogdir $POSTGRES_INITDB_XLOGDIR"
|
export POSTGRES_INITDB_ARGS="$POSTGRES_INITDB_ARGS --xlogdir $POSTGRES_INITDB_XLOGDIR"
|
||||||
fi
|
fi
|
||||||
eval "initdb --username=postgres $POSTGRES_INITDB_ARGS"
|
eval 'initdb --username="$POSTGRES_USER" --pwfile=<(echo "$POSTGRES_PASSWORD") '"$POSTGRES_INITDB_ARGS"
|
||||||
|
|
||||||
# unset/cleanup "nss_wrapper" bits
|
# unset/cleanup "nss_wrapper" bits
|
||||||
if [ "${LD_PRELOAD:-}" = '/usr/lib/libnss_wrapper.so' ]; then
|
if [ "${LD_PRELOAD:-}" = '/usr/lib/libnss_wrapper.so' ]; then
|
||||||
@ -79,9 +82,7 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
|
|
||||||
# check password first so we can output the warning before postgres
|
# check password first so we can output the warning before postgres
|
||||||
# messes it up
|
# messes it up
|
||||||
file_env 'POSTGRES_PASSWORD'
|
if [ -n "$POSTGRES_PASSWORD" ]; then
|
||||||
if [ "$POSTGRES_PASSWORD" ]; then
|
|
||||||
pass="PASSWORD :'pass'"
|
|
||||||
authMethod=md5
|
authMethod=md5
|
||||||
else
|
else
|
||||||
# The - option suppresses leading tabs but *not* spaces. :)
|
# The - option suppresses leading tabs but *not* spaces. :)
|
||||||
@ -99,7 +100,6 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
****************************************************
|
****************************************************
|
||||||
EOWARN
|
EOWARN
|
||||||
|
|
||||||
pass=
|
|
||||||
authMethod=trust
|
authMethod=trust
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -110,34 +110,23 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
|
|
||||||
# internal start of server in order to allow set-up using psql-client
|
# internal start of server in order to allow set-up using psql-client
|
||||||
# does not listen on external TCP/IP and waits until start finishes
|
# does not listen on external TCP/IP and waits until start finishes
|
||||||
PGUSER="${PGUSER:-postgres}" \
|
PGUSER="${PGUSER:-$POSTGRES_USER}" \
|
||||||
pg_ctl -D "$PGDATA" \
|
pg_ctl -D "$PGDATA" \
|
||||||
-o "-c listen_addresses=''" \
|
-o "-c listen_addresses=''" \
|
||||||
-w start
|
-w start
|
||||||
|
|
||||||
file_env 'POSTGRES_USER' 'postgres'
|
|
||||||
file_env 'POSTGRES_DB' "$POSTGRES_USER"
|
file_env 'POSTGRES_DB' "$POSTGRES_USER"
|
||||||
|
|
||||||
psql=( psql -v ON_ERROR_STOP=1 )
|
export PGPASSWORD="${PGPASSWORD:-$POSTGRES_PASSWORD}"
|
||||||
|
psql=( psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --no-password )
|
||||||
|
|
||||||
if [ "$POSTGRES_DB" != 'postgres' ]; then
|
if [ "$POSTGRES_DB" != 'postgres' ]; then
|
||||||
"${psql[@]}" --username postgres --set db="$POSTGRES_DB" <<-'EOSQL'
|
"${psql[@]}" --dbname postgres --set db="$POSTGRES_DB" <<-'EOSQL'
|
||||||
CREATE DATABASE :"db" ;
|
CREATE DATABASE :"db" ;
|
||||||
EOSQL
|
EOSQL
|
||||||
echo
|
echo
|
||||||
fi
|
fi
|
||||||
|
psql+=( --dbname "$POSTGRES_DB" )
|
||||||
if [ "$POSTGRES_USER" = 'postgres' ]; then
|
|
||||||
op='ALTER'
|
|
||||||
else
|
|
||||||
op='CREATE'
|
|
||||||
fi
|
|
||||||
"${psql[@]}" --username postgres --set user="$POSTGRES_USER" --set pass="$POSTGRES_PASSWORD" <<-EOSQL
|
|
||||||
$op USER :"user" WITH SUPERUSER $pass ;
|
|
||||||
EOSQL
|
|
||||||
echo
|
|
||||||
|
|
||||||
psql+=( --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" )
|
|
||||||
|
|
||||||
echo
|
echo
|
||||||
for f in /docker-entrypoint-initdb.d/*; do
|
for f in /docker-entrypoint-initdb.d/*; do
|
||||||
@ -160,9 +149,11 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
echo
|
echo
|
||||||
done
|
done
|
||||||
|
|
||||||
PGUSER="${PGUSER:-postgres}" \
|
PGUSER="${PGUSER:-$POSTGRES_USER}" \
|
||||||
pg_ctl -D "$PGDATA" -m fast -w stop
|
pg_ctl -D "$PGDATA" -m fast -w stop
|
||||||
|
|
||||||
|
unset PGPASSWORD
|
||||||
|
|
||||||
echo
|
echo
|
||||||
echo 'PostgreSQL init process complete; ready for start up.'
|
echo 'PostgreSQL init process complete; ready for start up.'
|
||||||
echo
|
echo
|
||||||
|
@ -65,11 +65,14 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
echo "postgres:x:$(id -g):" > "$NSS_WRAPPER_GROUP"
|
echo "postgres:x:$(id -g):" > "$NSS_WRAPPER_GROUP"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
file_env 'POSTGRES_USER' 'postgres'
|
||||||
|
file_env 'POSTGRES_PASSWORD'
|
||||||
|
|
||||||
file_env 'POSTGRES_INITDB_ARGS'
|
file_env 'POSTGRES_INITDB_ARGS'
|
||||||
if [ "$POSTGRES_INITDB_XLOGDIR" ]; then
|
if [ "$POSTGRES_INITDB_XLOGDIR" ]; then
|
||||||
export POSTGRES_INITDB_ARGS="$POSTGRES_INITDB_ARGS --xlogdir $POSTGRES_INITDB_XLOGDIR"
|
export POSTGRES_INITDB_ARGS="$POSTGRES_INITDB_ARGS --xlogdir $POSTGRES_INITDB_XLOGDIR"
|
||||||
fi
|
fi
|
||||||
eval "initdb --username=postgres $POSTGRES_INITDB_ARGS"
|
eval 'initdb --username="$POSTGRES_USER" --pwfile=<(echo "$POSTGRES_PASSWORD") '"$POSTGRES_INITDB_ARGS"
|
||||||
|
|
||||||
# unset/cleanup "nss_wrapper" bits
|
# unset/cleanup "nss_wrapper" bits
|
||||||
if [ "${LD_PRELOAD:-}" = '/usr/lib/libnss_wrapper.so' ]; then
|
if [ "${LD_PRELOAD:-}" = '/usr/lib/libnss_wrapper.so' ]; then
|
||||||
@ -79,9 +82,7 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
|
|
||||||
# check password first so we can output the warning before postgres
|
# check password first so we can output the warning before postgres
|
||||||
# messes it up
|
# messes it up
|
||||||
file_env 'POSTGRES_PASSWORD'
|
if [ -n "$POSTGRES_PASSWORD" ]; then
|
||||||
if [ "$POSTGRES_PASSWORD" ]; then
|
|
||||||
pass="PASSWORD :'pass'"
|
|
||||||
authMethod=md5
|
authMethod=md5
|
||||||
else
|
else
|
||||||
# The - option suppresses leading tabs but *not* spaces. :)
|
# The - option suppresses leading tabs but *not* spaces. :)
|
||||||
@ -99,7 +100,6 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
****************************************************
|
****************************************************
|
||||||
EOWARN
|
EOWARN
|
||||||
|
|
||||||
pass=
|
|
||||||
authMethod=trust
|
authMethod=trust
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -110,34 +110,23 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
|
|
||||||
# internal start of server in order to allow set-up using psql-client
|
# internal start of server in order to allow set-up using psql-client
|
||||||
# does not listen on external TCP/IP and waits until start finishes
|
# does not listen on external TCP/IP and waits until start finishes
|
||||||
PGUSER="${PGUSER:-postgres}" \
|
PGUSER="${PGUSER:-$POSTGRES_USER}" \
|
||||||
pg_ctl -D "$PGDATA" \
|
pg_ctl -D "$PGDATA" \
|
||||||
-o "-c listen_addresses=''" \
|
-o "-c listen_addresses=''" \
|
||||||
-w start
|
-w start
|
||||||
|
|
||||||
file_env 'POSTGRES_USER' 'postgres'
|
|
||||||
file_env 'POSTGRES_DB' "$POSTGRES_USER"
|
file_env 'POSTGRES_DB' "$POSTGRES_USER"
|
||||||
|
|
||||||
psql=( psql -v ON_ERROR_STOP=1 )
|
export PGPASSWORD="${PGPASSWORD:-$POSTGRES_PASSWORD}"
|
||||||
|
psql=( psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --no-password )
|
||||||
|
|
||||||
if [ "$POSTGRES_DB" != 'postgres' ]; then
|
if [ "$POSTGRES_DB" != 'postgres' ]; then
|
||||||
"${psql[@]}" --username postgres --set db="$POSTGRES_DB" <<-'EOSQL'
|
"${psql[@]}" --dbname postgres --set db="$POSTGRES_DB" <<-'EOSQL'
|
||||||
CREATE DATABASE :"db" ;
|
CREATE DATABASE :"db" ;
|
||||||
EOSQL
|
EOSQL
|
||||||
echo
|
echo
|
||||||
fi
|
fi
|
||||||
|
psql+=( --dbname "$POSTGRES_DB" )
|
||||||
if [ "$POSTGRES_USER" = 'postgres' ]; then
|
|
||||||
op='ALTER'
|
|
||||||
else
|
|
||||||
op='CREATE'
|
|
||||||
fi
|
|
||||||
"${psql[@]}" --username postgres --set user="$POSTGRES_USER" --set pass="$POSTGRES_PASSWORD" <<-EOSQL
|
|
||||||
$op USER :"user" WITH SUPERUSER $pass ;
|
|
||||||
EOSQL
|
|
||||||
echo
|
|
||||||
|
|
||||||
psql+=( --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" )
|
|
||||||
|
|
||||||
echo
|
echo
|
||||||
for f in /docker-entrypoint-initdb.d/*; do
|
for f in /docker-entrypoint-initdb.d/*; do
|
||||||
@ -160,9 +149,11 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
echo
|
echo
|
||||||
done
|
done
|
||||||
|
|
||||||
PGUSER="${PGUSER:-postgres}" \
|
PGUSER="${PGUSER:-$POSTGRES_USER}" \
|
||||||
pg_ctl -D "$PGDATA" -m fast -w stop
|
pg_ctl -D "$PGDATA" -m fast -w stop
|
||||||
|
|
||||||
|
unset PGPASSWORD
|
||||||
|
|
||||||
echo
|
echo
|
||||||
echo 'PostgreSQL init process complete; ready for start up.'
|
echo 'PostgreSQL init process complete; ready for start up.'
|
||||||
echo
|
echo
|
||||||
|
@ -65,11 +65,14 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
echo "postgres:x:$(id -g):" > "$NSS_WRAPPER_GROUP"
|
echo "postgres:x:$(id -g):" > "$NSS_WRAPPER_GROUP"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
file_env 'POSTGRES_USER' 'postgres'
|
||||||
|
file_env 'POSTGRES_PASSWORD'
|
||||||
|
|
||||||
file_env 'POSTGRES_INITDB_ARGS'
|
file_env 'POSTGRES_INITDB_ARGS'
|
||||||
if [ "$POSTGRES_INITDB_XLOGDIR" ]; then
|
if [ "$POSTGRES_INITDB_XLOGDIR" ]; then
|
||||||
export POSTGRES_INITDB_ARGS="$POSTGRES_INITDB_ARGS --xlogdir $POSTGRES_INITDB_XLOGDIR"
|
export POSTGRES_INITDB_ARGS="$POSTGRES_INITDB_ARGS --xlogdir $POSTGRES_INITDB_XLOGDIR"
|
||||||
fi
|
fi
|
||||||
eval "initdb --username=postgres $POSTGRES_INITDB_ARGS"
|
eval 'initdb --username="$POSTGRES_USER" --pwfile=<(echo "$POSTGRES_PASSWORD") '"$POSTGRES_INITDB_ARGS"
|
||||||
|
|
||||||
# unset/cleanup "nss_wrapper" bits
|
# unset/cleanup "nss_wrapper" bits
|
||||||
if [ "${LD_PRELOAD:-}" = '/usr/lib/libnss_wrapper.so' ]; then
|
if [ "${LD_PRELOAD:-}" = '/usr/lib/libnss_wrapper.so' ]; then
|
||||||
@ -79,9 +82,7 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
|
|
||||||
# check password first so we can output the warning before postgres
|
# check password first so we can output the warning before postgres
|
||||||
# messes it up
|
# messes it up
|
||||||
file_env 'POSTGRES_PASSWORD'
|
if [ -n "$POSTGRES_PASSWORD" ]; then
|
||||||
if [ "$POSTGRES_PASSWORD" ]; then
|
|
||||||
pass="PASSWORD :'pass'"
|
|
||||||
authMethod=md5
|
authMethod=md5
|
||||||
else
|
else
|
||||||
# The - option suppresses leading tabs but *not* spaces. :)
|
# The - option suppresses leading tabs but *not* spaces. :)
|
||||||
@ -99,7 +100,6 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
****************************************************
|
****************************************************
|
||||||
EOWARN
|
EOWARN
|
||||||
|
|
||||||
pass=
|
|
||||||
authMethod=trust
|
authMethod=trust
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -110,34 +110,23 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
|
|
||||||
# internal start of server in order to allow set-up using psql-client
|
# internal start of server in order to allow set-up using psql-client
|
||||||
# does not listen on external TCP/IP and waits until start finishes
|
# does not listen on external TCP/IP and waits until start finishes
|
||||||
PGUSER="${PGUSER:-postgres}" \
|
PGUSER="${PGUSER:-$POSTGRES_USER}" \
|
||||||
pg_ctl -D "$PGDATA" \
|
pg_ctl -D "$PGDATA" \
|
||||||
-o "-c listen_addresses=''" \
|
-o "-c listen_addresses=''" \
|
||||||
-w start
|
-w start
|
||||||
|
|
||||||
file_env 'POSTGRES_USER' 'postgres'
|
|
||||||
file_env 'POSTGRES_DB' "$POSTGRES_USER"
|
file_env 'POSTGRES_DB' "$POSTGRES_USER"
|
||||||
|
|
||||||
psql=( psql -v ON_ERROR_STOP=1 )
|
export PGPASSWORD="${PGPASSWORD:-$POSTGRES_PASSWORD}"
|
||||||
|
psql=( psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --no-password )
|
||||||
|
|
||||||
if [ "$POSTGRES_DB" != 'postgres' ]; then
|
if [ "$POSTGRES_DB" != 'postgres' ]; then
|
||||||
"${psql[@]}" --username postgres --set db="$POSTGRES_DB" <<-'EOSQL'
|
"${psql[@]}" --dbname postgres --set db="$POSTGRES_DB" <<-'EOSQL'
|
||||||
CREATE DATABASE :"db" ;
|
CREATE DATABASE :"db" ;
|
||||||
EOSQL
|
EOSQL
|
||||||
echo
|
echo
|
||||||
fi
|
fi
|
||||||
|
psql+=( --dbname "$POSTGRES_DB" )
|
||||||
if [ "$POSTGRES_USER" = 'postgres' ]; then
|
|
||||||
op='ALTER'
|
|
||||||
else
|
|
||||||
op='CREATE'
|
|
||||||
fi
|
|
||||||
"${psql[@]}" --username postgres --set user="$POSTGRES_USER" --set pass="$POSTGRES_PASSWORD" <<-EOSQL
|
|
||||||
$op USER :"user" WITH SUPERUSER $pass ;
|
|
||||||
EOSQL
|
|
||||||
echo
|
|
||||||
|
|
||||||
psql+=( --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" )
|
|
||||||
|
|
||||||
echo
|
echo
|
||||||
for f in /docker-entrypoint-initdb.d/*; do
|
for f in /docker-entrypoint-initdb.d/*; do
|
||||||
@ -160,9 +149,11 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
echo
|
echo
|
||||||
done
|
done
|
||||||
|
|
||||||
PGUSER="${PGUSER:-postgres}" \
|
PGUSER="${PGUSER:-$POSTGRES_USER}" \
|
||||||
pg_ctl -D "$PGDATA" -m fast -w stop
|
pg_ctl -D "$PGDATA" -m fast -w stop
|
||||||
|
|
||||||
|
unset PGPASSWORD
|
||||||
|
|
||||||
echo
|
echo
|
||||||
echo 'PostgreSQL init process complete; ready for start up.'
|
echo 'PostgreSQL init process complete; ready for start up.'
|
||||||
echo
|
echo
|
||||||
|
@ -65,11 +65,14 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
echo "postgres:x:$(id -g):" > "$NSS_WRAPPER_GROUP"
|
echo "postgres:x:$(id -g):" > "$NSS_WRAPPER_GROUP"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
file_env 'POSTGRES_USER' 'postgres'
|
||||||
|
file_env 'POSTGRES_PASSWORD'
|
||||||
|
|
||||||
file_env 'POSTGRES_INITDB_ARGS'
|
file_env 'POSTGRES_INITDB_ARGS'
|
||||||
if [ "$POSTGRES_INITDB_XLOGDIR" ]; then
|
if [ "$POSTGRES_INITDB_XLOGDIR" ]; then
|
||||||
export POSTGRES_INITDB_ARGS="$POSTGRES_INITDB_ARGS --xlogdir $POSTGRES_INITDB_XLOGDIR"
|
export POSTGRES_INITDB_ARGS="$POSTGRES_INITDB_ARGS --xlogdir $POSTGRES_INITDB_XLOGDIR"
|
||||||
fi
|
fi
|
||||||
eval "initdb --username=postgres $POSTGRES_INITDB_ARGS"
|
eval 'initdb --username="$POSTGRES_USER" --pwfile=<(echo "$POSTGRES_PASSWORD") '"$POSTGRES_INITDB_ARGS"
|
||||||
|
|
||||||
# unset/cleanup "nss_wrapper" bits
|
# unset/cleanup "nss_wrapper" bits
|
||||||
if [ "${LD_PRELOAD:-}" = '/usr/lib/libnss_wrapper.so' ]; then
|
if [ "${LD_PRELOAD:-}" = '/usr/lib/libnss_wrapper.so' ]; then
|
||||||
@ -79,9 +82,7 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
|
|
||||||
# check password first so we can output the warning before postgres
|
# check password first so we can output the warning before postgres
|
||||||
# messes it up
|
# messes it up
|
||||||
file_env 'POSTGRES_PASSWORD'
|
if [ -n "$POSTGRES_PASSWORD" ]; then
|
||||||
if [ "$POSTGRES_PASSWORD" ]; then
|
|
||||||
pass="PASSWORD :'pass'"
|
|
||||||
authMethod=md5
|
authMethod=md5
|
||||||
else
|
else
|
||||||
# The - option suppresses leading tabs but *not* spaces. :)
|
# The - option suppresses leading tabs but *not* spaces. :)
|
||||||
@ -99,7 +100,6 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
****************************************************
|
****************************************************
|
||||||
EOWARN
|
EOWARN
|
||||||
|
|
||||||
pass=
|
|
||||||
authMethod=trust
|
authMethod=trust
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -110,34 +110,23 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
|
|
||||||
# internal start of server in order to allow set-up using psql-client
|
# internal start of server in order to allow set-up using psql-client
|
||||||
# does not listen on external TCP/IP and waits until start finishes
|
# does not listen on external TCP/IP and waits until start finishes
|
||||||
PGUSER="${PGUSER:-postgres}" \
|
PGUSER="${PGUSER:-$POSTGRES_USER}" \
|
||||||
pg_ctl -D "$PGDATA" \
|
pg_ctl -D "$PGDATA" \
|
||||||
-o "-c listen_addresses=''" \
|
-o "-c listen_addresses=''" \
|
||||||
-w start
|
-w start
|
||||||
|
|
||||||
file_env 'POSTGRES_USER' 'postgres'
|
|
||||||
file_env 'POSTGRES_DB' "$POSTGRES_USER"
|
file_env 'POSTGRES_DB' "$POSTGRES_USER"
|
||||||
|
|
||||||
psql=( psql -v ON_ERROR_STOP=1 )
|
export PGPASSWORD="${PGPASSWORD:-$POSTGRES_PASSWORD}"
|
||||||
|
psql=( psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --no-password )
|
||||||
|
|
||||||
if [ "$POSTGRES_DB" != 'postgres' ]; then
|
if [ "$POSTGRES_DB" != 'postgres' ]; then
|
||||||
"${psql[@]}" --username postgres --set db="$POSTGRES_DB" <<-'EOSQL'
|
"${psql[@]}" --dbname postgres --set db="$POSTGRES_DB" <<-'EOSQL'
|
||||||
CREATE DATABASE :"db" ;
|
CREATE DATABASE :"db" ;
|
||||||
EOSQL
|
EOSQL
|
||||||
echo
|
echo
|
||||||
fi
|
fi
|
||||||
|
psql+=( --dbname "$POSTGRES_DB" )
|
||||||
if [ "$POSTGRES_USER" = 'postgres' ]; then
|
|
||||||
op='ALTER'
|
|
||||||
else
|
|
||||||
op='CREATE'
|
|
||||||
fi
|
|
||||||
"${psql[@]}" --username postgres --set user="$POSTGRES_USER" --set pass="$POSTGRES_PASSWORD" <<-EOSQL
|
|
||||||
$op USER :"user" WITH SUPERUSER $pass ;
|
|
||||||
EOSQL
|
|
||||||
echo
|
|
||||||
|
|
||||||
psql+=( --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" )
|
|
||||||
|
|
||||||
echo
|
echo
|
||||||
for f in /docker-entrypoint-initdb.d/*; do
|
for f in /docker-entrypoint-initdb.d/*; do
|
||||||
@ -160,9 +149,11 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
echo
|
echo
|
||||||
done
|
done
|
||||||
|
|
||||||
PGUSER="${PGUSER:-postgres}" \
|
PGUSER="${PGUSER:-$POSTGRES_USER}" \
|
||||||
pg_ctl -D "$PGDATA" -m fast -w stop
|
pg_ctl -D "$PGDATA" -m fast -w stop
|
||||||
|
|
||||||
|
unset PGPASSWORD
|
||||||
|
|
||||||
echo
|
echo
|
||||||
echo 'PostgreSQL init process complete; ready for start up.'
|
echo 'PostgreSQL init process complete; ready for start up.'
|
||||||
echo
|
echo
|
||||||
|
@ -65,11 +65,14 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
echo "postgres:x:$(id -g):" > "$NSS_WRAPPER_GROUP"
|
echo "postgres:x:$(id -g):" > "$NSS_WRAPPER_GROUP"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
file_env 'POSTGRES_USER' 'postgres'
|
||||||
|
file_env 'POSTGRES_PASSWORD'
|
||||||
|
|
||||||
file_env 'POSTGRES_INITDB_ARGS'
|
file_env 'POSTGRES_INITDB_ARGS'
|
||||||
if [ "$POSTGRES_INITDB_XLOGDIR" ]; then
|
if [ "$POSTGRES_INITDB_XLOGDIR" ]; then
|
||||||
export POSTGRES_INITDB_ARGS="$POSTGRES_INITDB_ARGS --xlogdir $POSTGRES_INITDB_XLOGDIR"
|
export POSTGRES_INITDB_ARGS="$POSTGRES_INITDB_ARGS --xlogdir $POSTGRES_INITDB_XLOGDIR"
|
||||||
fi
|
fi
|
||||||
eval "initdb --username=postgres $POSTGRES_INITDB_ARGS"
|
eval 'initdb --username="$POSTGRES_USER" --pwfile=<(echo "$POSTGRES_PASSWORD") '"$POSTGRES_INITDB_ARGS"
|
||||||
|
|
||||||
# unset/cleanup "nss_wrapper" bits
|
# unset/cleanup "nss_wrapper" bits
|
||||||
if [ "${LD_PRELOAD:-}" = '/usr/lib/libnss_wrapper.so' ]; then
|
if [ "${LD_PRELOAD:-}" = '/usr/lib/libnss_wrapper.so' ]; then
|
||||||
@ -79,9 +82,7 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
|
|
||||||
# check password first so we can output the warning before postgres
|
# check password first so we can output the warning before postgres
|
||||||
# messes it up
|
# messes it up
|
||||||
file_env 'POSTGRES_PASSWORD'
|
if [ -n "$POSTGRES_PASSWORD" ]; then
|
||||||
if [ "$POSTGRES_PASSWORD" ]; then
|
|
||||||
pass="PASSWORD :'pass'"
|
|
||||||
authMethod=md5
|
authMethod=md5
|
||||||
else
|
else
|
||||||
# The - option suppresses leading tabs but *not* spaces. :)
|
# The - option suppresses leading tabs but *not* spaces. :)
|
||||||
@ -99,7 +100,6 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
****************************************************
|
****************************************************
|
||||||
EOWARN
|
EOWARN
|
||||||
|
|
||||||
pass=
|
|
||||||
authMethod=trust
|
authMethod=trust
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -110,34 +110,23 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
|
|
||||||
# internal start of server in order to allow set-up using psql-client
|
# internal start of server in order to allow set-up using psql-client
|
||||||
# does not listen on external TCP/IP and waits until start finishes
|
# does not listen on external TCP/IP and waits until start finishes
|
||||||
PGUSER="${PGUSER:-postgres}" \
|
PGUSER="${PGUSER:-$POSTGRES_USER}" \
|
||||||
pg_ctl -D "$PGDATA" \
|
pg_ctl -D "$PGDATA" \
|
||||||
-o "-c listen_addresses=''" \
|
-o "-c listen_addresses=''" \
|
||||||
-w start
|
-w start
|
||||||
|
|
||||||
file_env 'POSTGRES_USER' 'postgres'
|
|
||||||
file_env 'POSTGRES_DB' "$POSTGRES_USER"
|
file_env 'POSTGRES_DB' "$POSTGRES_USER"
|
||||||
|
|
||||||
psql=( psql -v ON_ERROR_STOP=1 )
|
export PGPASSWORD="${PGPASSWORD:-$POSTGRES_PASSWORD}"
|
||||||
|
psql=( psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --no-password )
|
||||||
|
|
||||||
if [ "$POSTGRES_DB" != 'postgres' ]; then
|
if [ "$POSTGRES_DB" != 'postgres' ]; then
|
||||||
"${psql[@]}" --username postgres --set db="$POSTGRES_DB" <<-'EOSQL'
|
"${psql[@]}" --dbname postgres --set db="$POSTGRES_DB" <<-'EOSQL'
|
||||||
CREATE DATABASE :"db" ;
|
CREATE DATABASE :"db" ;
|
||||||
EOSQL
|
EOSQL
|
||||||
echo
|
echo
|
||||||
fi
|
fi
|
||||||
|
psql+=( --dbname "$POSTGRES_DB" )
|
||||||
if [ "$POSTGRES_USER" = 'postgres' ]; then
|
|
||||||
op='ALTER'
|
|
||||||
else
|
|
||||||
op='CREATE'
|
|
||||||
fi
|
|
||||||
"${psql[@]}" --username postgres --set user="$POSTGRES_USER" --set pass="$POSTGRES_PASSWORD" <<-EOSQL
|
|
||||||
$op USER :"user" WITH SUPERUSER $pass ;
|
|
||||||
EOSQL
|
|
||||||
echo
|
|
||||||
|
|
||||||
psql+=( --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" )
|
|
||||||
|
|
||||||
echo
|
echo
|
||||||
for f in /docker-entrypoint-initdb.d/*; do
|
for f in /docker-entrypoint-initdb.d/*; do
|
||||||
@ -160,9 +149,11 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
echo
|
echo
|
||||||
done
|
done
|
||||||
|
|
||||||
PGUSER="${PGUSER:-postgres}" \
|
PGUSER="${PGUSER:-$POSTGRES_USER}" \
|
||||||
pg_ctl -D "$PGDATA" -m fast -w stop
|
pg_ctl -D "$PGDATA" -m fast -w stop
|
||||||
|
|
||||||
|
unset PGPASSWORD
|
||||||
|
|
||||||
echo
|
echo
|
||||||
echo 'PostgreSQL init process complete; ready for start up.'
|
echo 'PostgreSQL init process complete; ready for start up.'
|
||||||
echo
|
echo
|
||||||
|
@ -65,11 +65,14 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
echo "postgres:x:$(id -g):" > "$NSS_WRAPPER_GROUP"
|
echo "postgres:x:$(id -g):" > "$NSS_WRAPPER_GROUP"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
file_env 'POSTGRES_USER' 'postgres'
|
||||||
|
file_env 'POSTGRES_PASSWORD'
|
||||||
|
|
||||||
file_env 'POSTGRES_INITDB_ARGS'
|
file_env 'POSTGRES_INITDB_ARGS'
|
||||||
if [ "$POSTGRES_INITDB_XLOGDIR" ]; then
|
if [ "$POSTGRES_INITDB_XLOGDIR" ]; then
|
||||||
export POSTGRES_INITDB_ARGS="$POSTGRES_INITDB_ARGS --xlogdir $POSTGRES_INITDB_XLOGDIR"
|
export POSTGRES_INITDB_ARGS="$POSTGRES_INITDB_ARGS --xlogdir $POSTGRES_INITDB_XLOGDIR"
|
||||||
fi
|
fi
|
||||||
eval "initdb --username=postgres $POSTGRES_INITDB_ARGS"
|
eval 'initdb --username="$POSTGRES_USER" --pwfile=<(echo "$POSTGRES_PASSWORD") '"$POSTGRES_INITDB_ARGS"
|
||||||
|
|
||||||
# unset/cleanup "nss_wrapper" bits
|
# unset/cleanup "nss_wrapper" bits
|
||||||
if [ "${LD_PRELOAD:-}" = '/usr/lib/libnss_wrapper.so' ]; then
|
if [ "${LD_PRELOAD:-}" = '/usr/lib/libnss_wrapper.so' ]; then
|
||||||
@ -79,9 +82,7 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
|
|
||||||
# check password first so we can output the warning before postgres
|
# check password first so we can output the warning before postgres
|
||||||
# messes it up
|
# messes it up
|
||||||
file_env 'POSTGRES_PASSWORD'
|
if [ -n "$POSTGRES_PASSWORD" ]; then
|
||||||
if [ "$POSTGRES_PASSWORD" ]; then
|
|
||||||
pass="PASSWORD :'pass'"
|
|
||||||
authMethod=md5
|
authMethod=md5
|
||||||
else
|
else
|
||||||
# The - option suppresses leading tabs but *not* spaces. :)
|
# The - option suppresses leading tabs but *not* spaces. :)
|
||||||
@ -99,7 +100,6 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
****************************************************
|
****************************************************
|
||||||
EOWARN
|
EOWARN
|
||||||
|
|
||||||
pass=
|
|
||||||
authMethod=trust
|
authMethod=trust
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -110,34 +110,23 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
|
|
||||||
# internal start of server in order to allow set-up using psql-client
|
# internal start of server in order to allow set-up using psql-client
|
||||||
# does not listen on external TCP/IP and waits until start finishes
|
# does not listen on external TCP/IP and waits until start finishes
|
||||||
PGUSER="${PGUSER:-postgres}" \
|
PGUSER="${PGUSER:-$POSTGRES_USER}" \
|
||||||
pg_ctl -D "$PGDATA" \
|
pg_ctl -D "$PGDATA" \
|
||||||
-o "-c listen_addresses=''" \
|
-o "-c listen_addresses=''" \
|
||||||
-w start
|
-w start
|
||||||
|
|
||||||
file_env 'POSTGRES_USER' 'postgres'
|
|
||||||
file_env 'POSTGRES_DB' "$POSTGRES_USER"
|
file_env 'POSTGRES_DB' "$POSTGRES_USER"
|
||||||
|
|
||||||
psql=( psql -v ON_ERROR_STOP=1 )
|
export PGPASSWORD="${PGPASSWORD:-$POSTGRES_PASSWORD}"
|
||||||
|
psql=( psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --no-password )
|
||||||
|
|
||||||
if [ "$POSTGRES_DB" != 'postgres' ]; then
|
if [ "$POSTGRES_DB" != 'postgres' ]; then
|
||||||
"${psql[@]}" --username postgres --set db="$POSTGRES_DB" <<-'EOSQL'
|
"${psql[@]}" --dbname postgres --set db="$POSTGRES_DB" <<-'EOSQL'
|
||||||
CREATE DATABASE :"db" ;
|
CREATE DATABASE :"db" ;
|
||||||
EOSQL
|
EOSQL
|
||||||
echo
|
echo
|
||||||
fi
|
fi
|
||||||
|
psql+=( --dbname "$POSTGRES_DB" )
|
||||||
if [ "$POSTGRES_USER" = 'postgres' ]; then
|
|
||||||
op='ALTER'
|
|
||||||
else
|
|
||||||
op='CREATE'
|
|
||||||
fi
|
|
||||||
"${psql[@]}" --username postgres --set user="$POSTGRES_USER" --set pass="$POSTGRES_PASSWORD" <<-EOSQL
|
|
||||||
$op USER :"user" WITH SUPERUSER $pass ;
|
|
||||||
EOSQL
|
|
||||||
echo
|
|
||||||
|
|
||||||
psql+=( --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" )
|
|
||||||
|
|
||||||
echo
|
echo
|
||||||
for f in /docker-entrypoint-initdb.d/*; do
|
for f in /docker-entrypoint-initdb.d/*; do
|
||||||
@ -160,9 +149,11 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
echo
|
echo
|
||||||
done
|
done
|
||||||
|
|
||||||
PGUSER="${PGUSER:-postgres}" \
|
PGUSER="${PGUSER:-$POSTGRES_USER}" \
|
||||||
pg_ctl -D "$PGDATA" -m fast -w stop
|
pg_ctl -D "$PGDATA" -m fast -w stop
|
||||||
|
|
||||||
|
unset PGPASSWORD
|
||||||
|
|
||||||
echo
|
echo
|
||||||
echo 'PostgreSQL init process complete; ready for start up.'
|
echo 'PostgreSQL init process complete; ready for start up.'
|
||||||
echo
|
echo
|
||||||
|
@ -65,11 +65,14 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
echo "postgres:x:$(id -g):" > "$NSS_WRAPPER_GROUP"
|
echo "postgres:x:$(id -g):" > "$NSS_WRAPPER_GROUP"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
file_env 'POSTGRES_USER' 'postgres'
|
||||||
|
file_env 'POSTGRES_PASSWORD'
|
||||||
|
|
||||||
file_env 'POSTGRES_INITDB_ARGS'
|
file_env 'POSTGRES_INITDB_ARGS'
|
||||||
if [ "$POSTGRES_INITDB_XLOGDIR" ]; then
|
if [ "$POSTGRES_INITDB_XLOGDIR" ]; then
|
||||||
export POSTGRES_INITDB_ARGS="$POSTGRES_INITDB_ARGS --xlogdir $POSTGRES_INITDB_XLOGDIR"
|
export POSTGRES_INITDB_ARGS="$POSTGRES_INITDB_ARGS --xlogdir $POSTGRES_INITDB_XLOGDIR"
|
||||||
fi
|
fi
|
||||||
eval "initdb --username=postgres $POSTGRES_INITDB_ARGS"
|
eval 'initdb --username="$POSTGRES_USER" --pwfile=<(echo "$POSTGRES_PASSWORD") '"$POSTGRES_INITDB_ARGS"
|
||||||
|
|
||||||
# unset/cleanup "nss_wrapper" bits
|
# unset/cleanup "nss_wrapper" bits
|
||||||
if [ "${LD_PRELOAD:-}" = '/usr/lib/libnss_wrapper.so' ]; then
|
if [ "${LD_PRELOAD:-}" = '/usr/lib/libnss_wrapper.so' ]; then
|
||||||
@ -79,9 +82,7 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
|
|
||||||
# check password first so we can output the warning before postgres
|
# check password first so we can output the warning before postgres
|
||||||
# messes it up
|
# messes it up
|
||||||
file_env 'POSTGRES_PASSWORD'
|
if [ -n "$POSTGRES_PASSWORD" ]; then
|
||||||
if [ "$POSTGRES_PASSWORD" ]; then
|
|
||||||
pass="PASSWORD :'pass'"
|
|
||||||
authMethod=md5
|
authMethod=md5
|
||||||
else
|
else
|
||||||
# The - option suppresses leading tabs but *not* spaces. :)
|
# The - option suppresses leading tabs but *not* spaces. :)
|
||||||
@ -99,7 +100,6 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
****************************************************
|
****************************************************
|
||||||
EOWARN
|
EOWARN
|
||||||
|
|
||||||
pass=
|
|
||||||
authMethod=trust
|
authMethod=trust
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -110,34 +110,23 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
|
|
||||||
# internal start of server in order to allow set-up using psql-client
|
# internal start of server in order to allow set-up using psql-client
|
||||||
# does not listen on external TCP/IP and waits until start finishes
|
# does not listen on external TCP/IP and waits until start finishes
|
||||||
PGUSER="${PGUSER:-postgres}" \
|
PGUSER="${PGUSER:-$POSTGRES_USER}" \
|
||||||
pg_ctl -D "$PGDATA" \
|
pg_ctl -D "$PGDATA" \
|
||||||
-o "-c listen_addresses=''" \
|
-o "-c listen_addresses=''" \
|
||||||
-w start
|
-w start
|
||||||
|
|
||||||
file_env 'POSTGRES_USER' 'postgres'
|
|
||||||
file_env 'POSTGRES_DB' "$POSTGRES_USER"
|
file_env 'POSTGRES_DB' "$POSTGRES_USER"
|
||||||
|
|
||||||
psql=( psql -v ON_ERROR_STOP=1 )
|
export PGPASSWORD="${PGPASSWORD:-$POSTGRES_PASSWORD}"
|
||||||
|
psql=( psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --no-password )
|
||||||
|
|
||||||
if [ "$POSTGRES_DB" != 'postgres' ]; then
|
if [ "$POSTGRES_DB" != 'postgres' ]; then
|
||||||
"${psql[@]}" --username postgres --set db="$POSTGRES_DB" <<-'EOSQL'
|
"${psql[@]}" --dbname postgres --set db="$POSTGRES_DB" <<-'EOSQL'
|
||||||
CREATE DATABASE :"db" ;
|
CREATE DATABASE :"db" ;
|
||||||
EOSQL
|
EOSQL
|
||||||
echo
|
echo
|
||||||
fi
|
fi
|
||||||
|
psql+=( --dbname "$POSTGRES_DB" )
|
||||||
if [ "$POSTGRES_USER" = 'postgres' ]; then
|
|
||||||
op='ALTER'
|
|
||||||
else
|
|
||||||
op='CREATE'
|
|
||||||
fi
|
|
||||||
"${psql[@]}" --username postgres --set user="$POSTGRES_USER" --set pass="$POSTGRES_PASSWORD" <<-EOSQL
|
|
||||||
$op USER :"user" WITH SUPERUSER $pass ;
|
|
||||||
EOSQL
|
|
||||||
echo
|
|
||||||
|
|
||||||
psql+=( --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" )
|
|
||||||
|
|
||||||
echo
|
echo
|
||||||
for f in /docker-entrypoint-initdb.d/*; do
|
for f in /docker-entrypoint-initdb.d/*; do
|
||||||
@ -160,9 +149,11 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
echo
|
echo
|
||||||
done
|
done
|
||||||
|
|
||||||
PGUSER="${PGUSER:-postgres}" \
|
PGUSER="${PGUSER:-$POSTGRES_USER}" \
|
||||||
pg_ctl -D "$PGDATA" -m fast -w stop
|
pg_ctl -D "$PGDATA" -m fast -w stop
|
||||||
|
|
||||||
|
unset PGPASSWORD
|
||||||
|
|
||||||
echo
|
echo
|
||||||
echo 'PostgreSQL init process complete; ready for start up.'
|
echo 'PostgreSQL init process complete; ready for start up.'
|
||||||
echo
|
echo
|
||||||
|
@ -65,11 +65,14 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
echo "postgres:x:$(id -g):" > "$NSS_WRAPPER_GROUP"
|
echo "postgres:x:$(id -g):" > "$NSS_WRAPPER_GROUP"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
file_env 'POSTGRES_USER' 'postgres'
|
||||||
|
file_env 'POSTGRES_PASSWORD'
|
||||||
|
|
||||||
file_env 'POSTGRES_INITDB_ARGS'
|
file_env 'POSTGRES_INITDB_ARGS'
|
||||||
if [ "$POSTGRES_INITDB_XLOGDIR" ]; then
|
if [ "$POSTGRES_INITDB_XLOGDIR" ]; then
|
||||||
export POSTGRES_INITDB_ARGS="$POSTGRES_INITDB_ARGS --xlogdir $POSTGRES_INITDB_XLOGDIR"
|
export POSTGRES_INITDB_ARGS="$POSTGRES_INITDB_ARGS --xlogdir $POSTGRES_INITDB_XLOGDIR"
|
||||||
fi
|
fi
|
||||||
eval "initdb --username=postgres $POSTGRES_INITDB_ARGS"
|
eval 'initdb --username="$POSTGRES_USER" --pwfile=<(echo "$POSTGRES_PASSWORD") '"$POSTGRES_INITDB_ARGS"
|
||||||
|
|
||||||
# unset/cleanup "nss_wrapper" bits
|
# unset/cleanup "nss_wrapper" bits
|
||||||
if [ "${LD_PRELOAD:-}" = '/usr/lib/libnss_wrapper.so' ]; then
|
if [ "${LD_PRELOAD:-}" = '/usr/lib/libnss_wrapper.so' ]; then
|
||||||
@ -79,9 +82,7 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
|
|
||||||
# check password first so we can output the warning before postgres
|
# check password first so we can output the warning before postgres
|
||||||
# messes it up
|
# messes it up
|
||||||
file_env 'POSTGRES_PASSWORD'
|
if [ -n "$POSTGRES_PASSWORD" ]; then
|
||||||
if [ "$POSTGRES_PASSWORD" ]; then
|
|
||||||
pass="PASSWORD :'pass'"
|
|
||||||
authMethod=md5
|
authMethod=md5
|
||||||
else
|
else
|
||||||
# The - option suppresses leading tabs but *not* spaces. :)
|
# The - option suppresses leading tabs but *not* spaces. :)
|
||||||
@ -99,7 +100,6 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
****************************************************
|
****************************************************
|
||||||
EOWARN
|
EOWARN
|
||||||
|
|
||||||
pass=
|
|
||||||
authMethod=trust
|
authMethod=trust
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -110,34 +110,23 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
|
|
||||||
# internal start of server in order to allow set-up using psql-client
|
# internal start of server in order to allow set-up using psql-client
|
||||||
# does not listen on external TCP/IP and waits until start finishes
|
# does not listen on external TCP/IP and waits until start finishes
|
||||||
PGUSER="${PGUSER:-postgres}" \
|
PGUSER="${PGUSER:-$POSTGRES_USER}" \
|
||||||
pg_ctl -D "$PGDATA" \
|
pg_ctl -D "$PGDATA" \
|
||||||
-o "-c listen_addresses=''" \
|
-o "-c listen_addresses=''" \
|
||||||
-w start
|
-w start
|
||||||
|
|
||||||
file_env 'POSTGRES_USER' 'postgres'
|
|
||||||
file_env 'POSTGRES_DB' "$POSTGRES_USER"
|
file_env 'POSTGRES_DB' "$POSTGRES_USER"
|
||||||
|
|
||||||
psql=( psql -v ON_ERROR_STOP=1 )
|
export PGPASSWORD="${PGPASSWORD:-$POSTGRES_PASSWORD}"
|
||||||
|
psql=( psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --no-password )
|
||||||
|
|
||||||
if [ "$POSTGRES_DB" != 'postgres' ]; then
|
if [ "$POSTGRES_DB" != 'postgres' ]; then
|
||||||
"${psql[@]}" --username postgres --set db="$POSTGRES_DB" <<-'EOSQL'
|
"${psql[@]}" --dbname postgres --set db="$POSTGRES_DB" <<-'EOSQL'
|
||||||
CREATE DATABASE :"db" ;
|
CREATE DATABASE :"db" ;
|
||||||
EOSQL
|
EOSQL
|
||||||
echo
|
echo
|
||||||
fi
|
fi
|
||||||
|
psql+=( --dbname "$POSTGRES_DB" )
|
||||||
if [ "$POSTGRES_USER" = 'postgres' ]; then
|
|
||||||
op='ALTER'
|
|
||||||
else
|
|
||||||
op='CREATE'
|
|
||||||
fi
|
|
||||||
"${psql[@]}" --username postgres --set user="$POSTGRES_USER" --set pass="$POSTGRES_PASSWORD" <<-EOSQL
|
|
||||||
$op USER :"user" WITH SUPERUSER $pass ;
|
|
||||||
EOSQL
|
|
||||||
echo
|
|
||||||
|
|
||||||
psql+=( --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" )
|
|
||||||
|
|
||||||
echo
|
echo
|
||||||
for f in /docker-entrypoint-initdb.d/*; do
|
for f in /docker-entrypoint-initdb.d/*; do
|
||||||
@ -160,9 +149,11 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
echo
|
echo
|
||||||
done
|
done
|
||||||
|
|
||||||
PGUSER="${PGUSER:-postgres}" \
|
PGUSER="${PGUSER:-$POSTGRES_USER}" \
|
||||||
pg_ctl -D "$PGDATA" -m fast -w stop
|
pg_ctl -D "$PGDATA" -m fast -w stop
|
||||||
|
|
||||||
|
unset PGPASSWORD
|
||||||
|
|
||||||
echo
|
echo
|
||||||
echo 'PostgreSQL init process complete; ready for start up.'
|
echo 'PostgreSQL init process complete; ready for start up.'
|
||||||
echo
|
echo
|
||||||
|
@ -65,11 +65,14 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
echo "postgres:x:$(id -g):" > "$NSS_WRAPPER_GROUP"
|
echo "postgres:x:$(id -g):" > "$NSS_WRAPPER_GROUP"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
file_env 'POSTGRES_USER' 'postgres'
|
||||||
|
file_env 'POSTGRES_PASSWORD'
|
||||||
|
|
||||||
file_env 'POSTGRES_INITDB_ARGS'
|
file_env 'POSTGRES_INITDB_ARGS'
|
||||||
if [ "$POSTGRES_INITDB_WALDIR" ]; then
|
if [ "$POSTGRES_INITDB_WALDIR" ]; then
|
||||||
export POSTGRES_INITDB_ARGS="$POSTGRES_INITDB_ARGS --waldir $POSTGRES_INITDB_WALDIR"
|
export POSTGRES_INITDB_ARGS="$POSTGRES_INITDB_ARGS --waldir $POSTGRES_INITDB_WALDIR"
|
||||||
fi
|
fi
|
||||||
eval "initdb --username=postgres $POSTGRES_INITDB_ARGS"
|
eval 'initdb --username="$POSTGRES_USER" --pwfile=<(echo "$POSTGRES_PASSWORD") '"$POSTGRES_INITDB_ARGS"
|
||||||
|
|
||||||
# unset/cleanup "nss_wrapper" bits
|
# unset/cleanup "nss_wrapper" bits
|
||||||
if [ "${LD_PRELOAD:-}" = '/usr/lib/libnss_wrapper.so' ]; then
|
if [ "${LD_PRELOAD:-}" = '/usr/lib/libnss_wrapper.so' ]; then
|
||||||
@ -79,9 +82,7 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
|
|
||||||
# check password first so we can output the warning before postgres
|
# check password first so we can output the warning before postgres
|
||||||
# messes it up
|
# messes it up
|
||||||
file_env 'POSTGRES_PASSWORD'
|
if [ -n "$POSTGRES_PASSWORD" ]; then
|
||||||
if [ "$POSTGRES_PASSWORD" ]; then
|
|
||||||
pass="PASSWORD :'pass'"
|
|
||||||
authMethod=md5
|
authMethod=md5
|
||||||
else
|
else
|
||||||
# The - option suppresses leading tabs but *not* spaces. :)
|
# The - option suppresses leading tabs but *not* spaces. :)
|
||||||
@ -99,7 +100,6 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
****************************************************
|
****************************************************
|
||||||
EOWARN
|
EOWARN
|
||||||
|
|
||||||
pass=
|
|
||||||
authMethod=trust
|
authMethod=trust
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -110,34 +110,23 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
|
|
||||||
# internal start of server in order to allow set-up using psql-client
|
# internal start of server in order to allow set-up using psql-client
|
||||||
# does not listen on external TCP/IP and waits until start finishes
|
# does not listen on external TCP/IP and waits until start finishes
|
||||||
PGUSER="${PGUSER:-postgres}" \
|
PGUSER="${PGUSER:-$POSTGRES_USER}" \
|
||||||
pg_ctl -D "$PGDATA" \
|
pg_ctl -D "$PGDATA" \
|
||||||
-o "-c listen_addresses=''" \
|
-o "-c listen_addresses=''" \
|
||||||
-w start
|
-w start
|
||||||
|
|
||||||
file_env 'POSTGRES_USER' 'postgres'
|
|
||||||
file_env 'POSTGRES_DB' "$POSTGRES_USER"
|
file_env 'POSTGRES_DB' "$POSTGRES_USER"
|
||||||
|
|
||||||
psql=( psql -v ON_ERROR_STOP=1 )
|
export PGPASSWORD="${PGPASSWORD:-$POSTGRES_PASSWORD}"
|
||||||
|
psql=( psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --no-password )
|
||||||
|
|
||||||
if [ "$POSTGRES_DB" != 'postgres' ]; then
|
if [ "$POSTGRES_DB" != 'postgres' ]; then
|
||||||
"${psql[@]}" --username postgres --set db="$POSTGRES_DB" <<-'EOSQL'
|
"${psql[@]}" --dbname postgres --set db="$POSTGRES_DB" <<-'EOSQL'
|
||||||
CREATE DATABASE :"db" ;
|
CREATE DATABASE :"db" ;
|
||||||
EOSQL
|
EOSQL
|
||||||
echo
|
echo
|
||||||
fi
|
fi
|
||||||
|
psql+=( --dbname "$POSTGRES_DB" )
|
||||||
if [ "$POSTGRES_USER" = 'postgres' ]; then
|
|
||||||
op='ALTER'
|
|
||||||
else
|
|
||||||
op='CREATE'
|
|
||||||
fi
|
|
||||||
"${psql[@]}" --username postgres --set user="$POSTGRES_USER" --set pass="$POSTGRES_PASSWORD" <<-EOSQL
|
|
||||||
$op USER :"user" WITH SUPERUSER $pass ;
|
|
||||||
EOSQL
|
|
||||||
echo
|
|
||||||
|
|
||||||
psql+=( --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" )
|
|
||||||
|
|
||||||
echo
|
echo
|
||||||
for f in /docker-entrypoint-initdb.d/*; do
|
for f in /docker-entrypoint-initdb.d/*; do
|
||||||
@ -160,9 +149,11 @@ if [ "$1" = 'postgres' ]; then
|
|||||||
echo
|
echo
|
||||||
done
|
done
|
||||||
|
|
||||||
PGUSER="${PGUSER:-postgres}" \
|
PGUSER="${PGUSER:-$POSTGRES_USER}" \
|
||||||
pg_ctl -D "$PGDATA" -m fast -w stop
|
pg_ctl -D "$PGDATA" -m fast -w stop
|
||||||
|
|
||||||
|
unset PGPASSWORD
|
||||||
|
|
||||||
echo
|
echo
|
||||||
echo 'PostgreSQL init process complete; ready for start up.'
|
echo 'PostgreSQL init process complete; ready for start up.'
|
||||||
echo
|
echo
|
||||||
|
Reference in New Issue
Block a user