sql >> Base de Datos >  >> RDS >> PostgreSQL

PostgreSQL en Helm:parámetro initdbScripts

Según stable/postgresql gráfico de timón, initdbScripts es un diccionario de nombres de secuencias de comandos de inicio que son variables de varias líneas:

Supongamos que tenemos el siguiente init.sql guión:

CREATE USER helm;
CREATE DATABASE helm;
GRANT ALL PRIVILEGES ON DATABASE helm TO helm;

Cuando vamos a inyectar un texto de varias líneas en los valores, debemos lidiar con la sangría en YAML.

Para el caso particular anterior es:

helm install stable/postgresql -n testpg \
--set global.postgresql.postgresqlDatabase=testpg \
--set global.postgresql.postgresqlUsername=testpg \
--set global.postgresql.postgresqlPassword=testpg \
--set global.postgresql.servicePort=5432 \
--set initdbScripts."init\.sql"="CREATE USER helm;
CREATE DATABASE helm;
GRANT ALL PRIVILEGES ON DATABASE helm TO helm;" \
--set service.type=LoadBalancer

Hay alguna explicación para el ejemplo anterior:

  1. Si el nombre del script tiene . debe escaparse, como "init\.sql" .
  2. El contenido del script está entre comillas dobles, porque es una variable de cadena de varias líneas.