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

PostgreSQL i Helm:initdbScripts Parameter

Ifølge stable/postgresql styrdiagram, initdbScripts er en ordbog over init-scriptnavne, som er multi-line variable:

Lad os antage, at vi har følgende init.sql script:

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

Når vi skal indsætte en tekst med flere linjer i værdier, skal vi håndtere indrykning i YAML.

For ovenstående særlige tilfælde er 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

Der er en forklaring på ovenstående eksempel:

  1. Hvis scriptets navn har . det skal escapes, som "init\.sql" .
  2. Scriptets indhold er i dobbelte anførselstegn, fordi det er en strengvariabel med flere linjer.



  1. PHP PDO Update forberedt erklæring problem

  2. Importer stor .sql-fil til MySQL

  3. Beregnet kolonne i EF-kode først

  4. Udfør shell-kommandoer fra MySQL-lagrede procedure