FaceVerifSDK / init-postgres.sh
kadabengaran's picture
Upload 6 files
af3479c verified
#!/usr/bin/env bash
set -euo pipefail
export PGDATA=/data/postgres
if [[ ! -s "$PGDATA/PG_VERSION" ]]; then
echo "Initializing Postgres data dir at $PGDATA"
install -d -m 0700 -o postgres -g postgres "$PGDATA"
su - postgres -c "/usr/lib/postgresql/*/bin/initdb -D '$PGDATA'"
# Start temporarily on localhost to run setup
su - postgres -c "/usr/lib/postgresql/*/bin/pg_ctl -D '$PGDATA' -o \"-c listen_addresses='127.0.0.1'\" -w start"
DB="regula_db"
USERNAME="regula"
PASS="${POSTGRES_PASSWORD:-Regulapasswd#1}"
su - postgres -c "psql -v ON_ERROR_STOP=1 -c \"CREATE DATABASE $DB;\""
su - postgres -c "psql -v ON_ERROR_STOP=1 -c \"CREATE USER $USERNAME WITH PASSWORD '$PASS';\""
su - postgres -c "psql -v ON_ERROR_STOP=1 -c \"GRANT ALL PRIVILEGES ON DATABASE $DB TO $USERNAME;\""
su - postgres -c "/usr/lib/postgresql/*/bin/pg_ctl -D '$PGDATA' -m fast stop"
fi
# Now run in foreground for supervisor
exec su - postgres -c "/usr/lib/postgresql/*/bin/postgres -D '$PGDATA' -c listen_addresses='127.0.0.1'"