Update 99-run.sh

This commit is contained in:
Alexandre
2025-07-16 22:07:57 +02:00
committed by GitHub
parent d580c582a0
commit 3ab8b4e15a

View File

@@ -109,20 +109,24 @@ bootstrap_internal_db() {
fi
bashio::log.info "Creating role/database if needed..."
# Use psql via local socket (faster, avoids password)
# Create role if it doesn't exist
psql -v ON_ERROR_STOP=1 -h "$DB_HOST_INTERNAL" -p "$DB_PORT_INTERNAL" -U postgres <<SQL
DO \$\$
BEGIN
IF NOT EXISTS (SELECT 1 FROM pg_roles WHERE rolname = '${DB_USER}') THEN
EXECUTE 'CREATE ROLE ${DB_USER} LOGIN PASSWORD ''' || replace('${DB_PASS}','''','''''') || '''';
END IF;
IF NOT EXISTS (SELECT 1 FROM pg_database WHERE datname = '${DB_NAME}') THEN
EXECUTE 'CREATE DATABASE ${DB_NAME} OWNER ${DB_USER}';
END IF;
END
\$\$;
SQL
# Check and create database if it doesn't exist
if ! psql -v ON_ERROR_STOP=1 -h "$DB_HOST_INTERNAL" -p "$DB_PORT_INTERNAL" -U postgres -tAc "SELECT 1 FROM pg_database WHERE datname = '${DB_NAME}'"; then
psql -v ON_ERROR_STOP=1 -h "$DB_HOST_INTERNAL" -p "$DB_PORT_INTERNAL" -U postgres <<SQL
CREATE DATABASE ${DB_NAME} OWNER ${DB_USER};
SQL
fi
bashio::log.info "Internal Postgres ready."
}