sql >> Databasteknik >  >> RDS >> PostgreSQL

PostgreSQL i Helm:initdbScripts Parameter

Enligt stable/postgresql styrdiagram, initdbScripts är en ordbok med init-skriptnamn som är flerradiga variabler:

Låt oss anta att vi har följande init.sql skript:

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

När vi ska injicera en flerradstext i värden måste vi hantera indrag i YAML.

För ovanstående speciella fall är det:

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

Det finns en förklaring till ovanstående exempel:

  1. Om skriptets namn har . det bör escapes, som "init\.sql" .
  2. Skriptets innehåll står inom dubbla citattecken, eftersom det är en strängvariabel med flera rader.



  1. Saknar oanvända mysql-anslutningar ner skript?

  2. 5 intressanta fakta om databashanteringssystem

  3. ActiveRecord::StatementInvalid:PG::ReadOnlySqlTransaction:- Heroku-databasen är fortfarande läsbar även efter avföljning

  4. Hur man konverterar en korstabellsfråga tillbaka till en normal fråga i Access