21 lines
610 B
Bash
21 lines
610 B
Bash
#!/bin/sh
|
|
set -eu
|
|
|
|
if [ -z "${POSTGRES_APP_PASSWORD:-}" ]; then
|
|
echo "POSTGRES_APP_PASSWORD is required" >&2
|
|
exit 1
|
|
fi
|
|
|
|
psql --set=ON_ERROR_STOP=1 \
|
|
--set=app_password="$POSTGRES_APP_PASSWORD" \
|
|
--username "$POSTGRES_USER" \
|
|
--dbname "$POSTGRES_DB" <<'SQL'
|
|
SELECT 'CREATE ROLE krona_staff_app LOGIN NOSUPERUSER NOCREATEDB NOCREATEROLE NOINHERIT NOBYPASSRLS'
|
|
WHERE NOT EXISTS (SELECT 1 FROM pg_roles WHERE rolname = 'krona_staff_app')
|
|
\gexec
|
|
SELECT format(
|
|
'ALTER ROLE krona_staff_app WITH LOGIN PASSWORD %L NOSUPERUSER NOCREATEDB NOCREATEROLE NOINHERIT NOBYPASSRLS',
|
|
:'app_password'
|
|
)
|
|
\gexec
|
|
SQL
|