Changeset View
Changeset View
Standalone View
Standalone View
docker/utils/pgsql.sh
#!/bin/bash | #!/bin/bash | ||||
setup_pgsql () { | setup_pgsql () { | ||||
echo "${PGHOST}:5432:postgres:${PGUSER}:${POSTGRES_PASSWORD}" > ~/.pgpass | : > ~/.pgpass | ||||
echo "${PGHOST}:5432:template1:${PGUSER}:${POSTGRES_PASSWORD}" >> ~/.pgpass | |||||
echo "${PGHOST}:5432:${PGUSER}:${PGUSER}:${POSTGRES_PASSWORD}" >> ~/.pgpass | |||||
echo "${PGHOST}:5432:${POSTGRES_DB}:${PGUSER}:${POSTGRES_PASSWORD}" >> ~/.pgpass | echo "${PGHOST}:5432:${POSTGRES_DB}:${PGUSER}:${POSTGRES_PASSWORD}" >> ~/.pgpass | ||||
cat > ~/.pg_service.conf <<EOF | cat > ~/.pg_service.conf <<EOF | ||||
[${POSTGRES_DB}] | [${POSTGRES_DB}] | ||||
dbname=${POSTGRES_DB} | dbname=${POSTGRES_DB} | ||||
host=${PGHOST} | host=${PGHOST} | ||||
port=5432 | port=5432 | ||||
user=${PGUSER} | user=${PGUSER} | ||||
EOF | EOF | ||||
chmod 0600 ~/.pgpass | chmod 0600 ~/.pgpass | ||||
} | } | ||||
wait_pgsql () { | wait_pgsql () { | ||||
echo Waiting for postgresql to start | local db_to_check | ||||
if [ $# -ge 1 ]; then | |||||
db_to_check="$1" | |||||
else | |||||
db_to_check=$POSTGRES_DB | |||||
fi | |||||
echo Waiting for postgresql to start and for database $db_to_check to be available. | |||||
wait-for-it ${PGHOST}:5432 -s --timeout=0 | wait-for-it ${PGHOST}:5432 -s --timeout=0 | ||||
until psql postgresql:///?service=${POSTGRES_DB} -c "select 1" > /dev/null 2> /dev/null; do sleep 1; done | until psql "dbname=${db_to_check} port=5432 host=${PGHOST} user=${PGUSER}" -c "select 'postgresql is up!' as connected"; do sleep 1; done | ||||
} | } | ||||
No newline at end of file | |||||
check_pgsql_db_created () { | |||||
psql "dbname=${POSTGRES_DB} port=5432 host=${PGHOST} user=${PGUSER}" -c "select 'postgresql is up!' as connected" >/dev/null 2>/dev/null | |||||
} |