PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

PostgreSQL in Helm:parametro initdbScripts

Secondo stable/postgresql grafico del timone, initdbScripts è un dizionario di nomi di script init che sono variabili multilinea:

Supponiamo di avere il seguente init.sql sceneggiatura:

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

Quando inietteremo un testo su più righe nei valori, dobbiamo occuparci del rientro in YAML.

Per il caso particolare sopra è:

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

C'è qualche spiegazione per l'esempio sopra:

  1. Se il nome dello script ha . dovrebbe essere sottoposto a escape, come "init\.sql" .
  2. Il contenuto dello script è racchiuso tra virgolette doppie, perché è una variabile stringa su più righe.