Я пытаюсь запустить простой скрипт при запуске службы базы данных, чтобы создать пользователя и базу данных, например:
#!/bin/bash
set -o errexit
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" <<-EOSQL
CREATE USER $DB_USER WITH PASSWORD '$DB_PASSWORD';
CREATE DATABASE $DB_NAME;
GRANT ALL PRIVILEGES ON DATABASE $DB_NAME TO $DB_USER;
EOSQL
"$@"
Я использую файл env_file для передачи переменных в файл вмой docker-compose выглядит так:
# #################
# DATABASE
# #################
DB_USER='john'
DB_NAME='job_database1'
DB_PASSWORD=''
POSTGRES_USER='postgres'
POSTGRES_PASSWORD=''
POSTGRES_HOST='127.0.0.1'
Я получаю эту не очень информативную ошибку, из-за которой я склонен полагать, что переменные не проходят?Я также попытался поместить их в другом месте с небольшим успехом.Вот ошибка:
Поэтому, когда я пытаюсь поднять проект, я получаю:
postgres_database | 2018-12-03 19:00:42.217 UTC [32] FATAL: role "'john'" does not exist
Так что я хотел бы получить подсказку о том, чтоделать здесь.