sql >> Databáze >  >> RDS >> PostgreSQL

PostgreSQL v Helm:parametr initdbScripts

Podle stable/postgresql graf kormidla, initdbScripts je slovník názvů init skriptů, což jsou víceřádkové proměnné:

Předpokládejme, že máme následující init.sql skript:

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

Když se chystáme vložit do hodnot víceřádkový text, musíme se vypořádat s odsazením v YAML.

Pro výše uvedený konkrétní případ je to:

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

Výše uvedený příklad má nějaké vysvětlení:

  1. Pokud má název skriptu . měl by být escapován, jako "init\.sql" .
  2. Obsah skriptu je ve dvojitých uvozovkách, protože se jedná o víceřádkovou řetězcovou proměnnou.



  1. Existuje důvod, proč MySQL nepodporuje FULL OUTER JOINS?

  2. PHP MySQL zobrazuje pouze prázdnou tabulku

  3. Chyba v Spring Data JPA:Spring Data vrací List<BigInteger> namísto List<Long>

  4. SQL dotaz kde sloupec ='' vracející se znaky Emoji 🎃 a 🍰