PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

PostgreSQL in Helm:initdbScripts-Parameter

Laut stable/postgresql Steuerdiagramm, initdbScripts ist ein Wörterbuch von Namen von Init-Skripten, die mehrzeilige Variablen sind:

Nehmen wir an, wir haben die folgende init.sql Skript:

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

Wenn wir einen mehrzeiligen Text in Werte einfügen, müssen wir uns mit Einrückungen in YAML befassen.

Für den obigen speziellen Fall ist 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

Es gibt einige Erläuterungen zum obigen Beispiel:

  1. Wenn der Name des Skripts . hat es sollte maskiert werden, wie "init\.sql" .
  2. Der Inhalt des Skripts steht in doppelten Anführungszeichen, da es sich um eine mehrzeilige Zeichenfolgenvariable handelt.