PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

PostgreSQL в Helm:параметър initdbScripts

Според stable/postgresql helm диаграма, initdbScripts е речник на имената на начални скриптове, които са многоредови променливи:

Да приемем, че имаме следния init.sql скрипт:

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

Когато ще инжектираме многоредов текст в стойности, трябва да се справим с отстъпа в YAML.

За горния частен случай това е:

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

Има известно обяснение на горния пример:

  1. Ако името на скрипта има . трябва да се екранира, като "init\.sql" .
  2. Съдържанието на скрипта е в двойни кавички, тъй като е многоредова низова променлива.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Множество първични ключове за таблица app_employee не са разрешени.

  2. Как да накарате Postgres Copy да игнорира първия ред на голям txt файл

  3. Избиране, докато редът съвпадне в postgresql?

  4. Създаване на postgresql DB с помощта на psycopg2

  5. Защо неподписано цяло число не е налично в PostgreSQL?