#!/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