#postgresql #docker
Вопрос:
Я пытаюсь запустить несколько служб postgres — одну для воздушного потока и одну в качестве базы данных, которая будет заполнена при выполнении DAG воздушного потока. Вот мои текущие услуги в docker-compose.yml:
aact: image: postgres:13 environment: POSTGRES_USER: aact POSTGRES_PASSWORD: aact POSTGRES_DB: aact ports: - 5433:5432 volumes: - ./snapshotsCreate.sql:/docker-entrypoint-initdb.d/snapshotsCreate.sql restart: always networks: - trial_explorer_db_network profiles: - airflow postgres: image: postgres:13 ports: - 5432:5432 environment: POSTGRES_USER: airflow POSTGRES_PASSWORD: airflow POSTGRES_MULTIPLE_DATABASES: airflow, aact volumes: - postgres-db-volume:/var/lib/postgresql/data healthcheck: test: ["CMD", "pg_isready", "-U", "airflow"] interval: 5s retries: 5 restart: always networks: - backend profiles: - airflow
Когда я пытаюсь использовать
docker exec -it lt;aact service container idgt; psql -U aact
Я получаю эту ошибку:
psql: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: FATAL: role "aact" does not exist
Любая помощь будет очень признательна!
Комментарии:
1. попробуйте подключиться к контейнеру и из него подключиться к postgre:
docker exec -it lt;aact service container idgt; bash
затем попробуйтеpsql -U aact
2. Делание
docker exec -it lt;aact service container idgt; bash
тогдаpsql -U aact
работало. Большое спасибо!3. Рад слышать. Я поставлю это в качестве ответа для вас, так как это сработало.
Ответ №1:
Сначала попробуйте подключиться к контейнеру docker, а оттуда подключиться к вашей базе данных postgresql.
Первый запуск:
docker exec -it lt;aact service container idgt; bash
Затем, оказавшись в контейнере, подключитесь к своей базе данных с помощью:
psql -U aact