Ctrl K
ComunidadGuías…

init-db.sh

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
#!/bin/bash
set -e

# This script runs inside the PostgreSQL container on first startup.
# It creates the Temporal user and databases using credentials from
# environment variables passed via docker-compose.yml.

TEMPORAL_USER="${TEMPORAL_DB_USER:-temporal}"
TEMPORAL_PASS="${TEMPORAL_DB_PASSWORD:-temporal}"

psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
    CREATE USER ${TEMPORAL_USER} WITH PASSWORD '${TEMPORAL_PASS}' CREATEDB;
    CREATE DATABASE temporal OWNER ${TEMPORAL_USER};
    CREATE DATABASE temporal_visibility OWNER ${TEMPORAL_USER};
EOSQL

# PostgreSQL 16+ requires explicit schema permissions
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "temporal" <<-EOSQL
    GRANT ALL ON SCHEMA public TO ${TEMPORAL_USER};
EOSQL

psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "temporal_visibility" <<-EOSQL
    GRANT ALL ON SCHEMA public TO ${TEMPORAL_USER};
EOSQL

echo "Temporal databases initialized for user: ${TEMPORAL_USER}"