Files
2026-08-12 14:48:15 +01:00

22 lines
567 B
Bash

#!/bin/sh
set -eu
ADM_USERNAME="${ADM_USERNAME:-adm}"
ADM_PASSWORD_FILE="${ADM_PASSWORD_FILE:-/run/secrets/pg_adm_password}"
POSTGRES_USER="${POSTGRES_USER:?POSTGRES_USER required}"
POSTGRES_DB="${POSTGRES_DB:-postgres}"
ADM_PASSWORD="$(cat "$ADM_PASSWORD_FILE")"
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" \
-v u="$ADM_USERNAME" -v p="$ADM_PASSWORD" <<'SQL'
DO $$
BEGIN
IF NOT EXISTS (SELECT 1 FROM pg_roles WHERE rolname = :'u') THEN
EXECUTE format('CREATE ROLE %I LOGIN PASSWORD %L', :'u', :'p');
END IF;
END
$$;
SQL