update db init script to put create databse outside of transaction
This commit is contained in:
parent
9949adc745
commit
dee764eb31
|
|
@ -43,6 +43,7 @@ spec:
|
||||||
- -c
|
- -c
|
||||||
- |
|
- |
|
||||||
psql <<EOF
|
psql <<EOF
|
||||||
|
-- Create user (safe in transaction)
|
||||||
DO \$\$
|
DO \$\$
|
||||||
BEGIN
|
BEGIN
|
||||||
IF NOT EXISTS (SELECT FROM pg_roles WHERE rolname = '${APP_USER}') THEN
|
IF NOT EXISTS (SELECT FROM pg_roles WHERE rolname = '${APP_USER}') THEN
|
||||||
|
|
@ -51,13 +52,12 @@ spec:
|
||||||
END
|
END
|
||||||
\$\$;
|
\$\$;
|
||||||
|
|
||||||
DO \$\$
|
-- Create database (must be outside transaction)
|
||||||
BEGIN
|
SELECT 'CREATE DATABASE ${APP_DB} OWNER ${APP_USER}'
|
||||||
IF NOT EXISTS (SELECT FROM pg_database WHERE datname = '${APP_DB}') THEN
|
WHERE NOT EXISTS (
|
||||||
CREATE DATABASE ${APP_DB} OWNER ${APP_USER};
|
SELECT FROM pg_database WHERE datname = '${APP_DB}'
|
||||||
END IF;
|
)\gexec
|
||||||
END
|
|
||||||
\$\$;
|
|
||||||
|
|
||||||
|
-- Grant privileges (safe)
|
||||||
GRANT ALL PRIVILEGES ON DATABASE ${APP_DB} TO ${APP_USER};
|
GRANT ALL PRIVILEGES ON DATABASE ${APP_DB} TO ${APP_USER};
|
||||||
EOF
|
EOF
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue