19 lines
637 B
Bash
19 lines
637 B
Bash
|
|
#!/bin/bash
|
||
|
|
set -e
|
||
|
|
|
||
|
|
# Create the Hydra database and user if they don't already exist.
|
||
|
|
# This runs as part of PostgreSQL's docker-entrypoint-initdb.d.
|
||
|
|
|
||
|
|
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
|
||
|
|
DO \$\$
|
||
|
|
BEGIN
|
||
|
|
IF NOT EXISTS (SELECT FROM pg_catalog.pg_roles WHERE rolname = '${HYDRA_DB_USER}') THEN
|
||
|
|
CREATE ROLE ${HYDRA_DB_USER} WITH LOGIN PASSWORD '${HYDRA_DB_PASSWORD}';
|
||
|
|
END IF;
|
||
|
|
END
|
||
|
|
\$\$;
|
||
|
|
|
||
|
|
SELECT 'CREATE DATABASE ${HYDRA_DB_NAME} OWNER ${HYDRA_DB_USER}'
|
||
|
|
WHERE NOT EXISTS (SELECT FROM pg_database WHERE datname = '${HYDRA_DB_NAME}')\gexec
|
||
|
|
EOSQL
|