sql >> Database >  >> RDS >> PostgreSQL

PostgreSQL in Helm:initdbScripts-parameter

Volgens stable/postgresql roerkaart, initdbScripts is een woordenboek van init-scriptnamen die uit meerdere regels bestaan:

Laten we aannemen dat we de volgende init.sql . hebben script:

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

Wanneer we een tekst met meerdere regels in waarden gaan invoegen, moeten we omgaan met inspringing in YAML.

Voor het bovenstaande specifieke geval is het:

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

Er is enige uitleg bij het bovenstaande voorbeeld:

  1. Als de naam van het script . het moet een escapeteken zijn, zoals "init\.sql" .
  2. De inhoud van het script staat tussen dubbele aanhalingstekens, omdat het een tekenreeksvariabele met meerdere regels is.



  1. Zijn deze twee functies overkill voor ontsmetting?

  2. Verbindingsverwerking en -beperking met ProxySQL

  3. Hoe het verschil tussen twee datums in T-SQL te berekenen

  4. Kun je meerdere kolommen gebruiken voor een not in query?