init-db.sh 626 Bytes
#!/bin/bash

: ${DB_USER:=service0}
: ${DB_NAME:=spb}
: ${DB_ENCODING:=UTF-8}
: ${DB_PG_DUMP_FILE:=/tmp/db.pgdump}
: ${DB_PG_DUMP_GLOBALS_FILE:=/tmp/db.pgdump.globals}

{ gosu postgres postgres --single -jE <<-EOSQL
    CREATE USER "$DB_USER";
EOSQL
} && { gosu postgres postgres --single -jE <<-EOSQL
    CREATE DATABASE "$DB_NAME" WITH OWNER="$DB_USER" TEMPLATE=template0 ENCODING='$DB_ENCODING';
EOSQL
} && { gosu postgres pg_ctl start -w && gosu postgres psql "$DB_NAME" -f "$DB_PG_DUMP_GLOBALS_FILE" && gosu postgres psql "$DB_NAME" < "$DB_PG_DUMP_FILE" && gosu postgres pg_ctl stop -w
} && /bin/rm -f ${DB_PG_DUMP_FILE}