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 fi
bashio::log.info "Creating role/database if needed..." 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 psql -v ON_ERROR_STOP=1 -h "$DB_HOST_INTERNAL" -p "$DB_PORT_INTERNAL" -U postgres <<SQL
DO \$\$ DO \$\$
BEGIN BEGIN
IF NOT EXISTS (SELECT 1 FROM pg_roles WHERE rolname = '${DB_USER}') THEN IF NOT EXISTS (SELECT 1 FROM pg_roles WHERE rolname = '${DB_USER}') THEN
EXECUTE 'CREATE ROLE ${DB_USER} LOGIN PASSWORD ''' || replace('${DB_PASS}','''','''''') || ''''; EXECUTE 'CREATE ROLE ${DB_USER} LOGIN PASSWORD ''' || replace('${DB_PASS}','''','''''') || '''';
END IF; 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 END
\$\$; \$\$;
SQL 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." bashio::log.info "Internal Postgres ready."
} }