Невозможно заставить postgressql работать правильно с докером, ошибка операции. сервер завершился ненормально?Python

Программы на Python
Anonymous
Невозможно заставить postgressql работать правильно с докером, ошибка операции. сервер завершился ненормально?

Сообщение Anonymous »

По какой-то причине у меня возникли трудности с подключением postgressql. Я где-то читал, что при использовании postgresql из докера. Localhost изменится на имя службы. В этом случае, глядя на мой файл yml в определении postgres

Код: Выделить всё

db:
image: postgres:latest
container_name: postgres_container
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: voting
networks:
- app
volumes:
- postgres_data:/var/lib/postgresql/data
ports:
- "5432:5432"
- "5433:5433"
healthcheck:
test: [ "CMD", "pg_isready", "-U", "postgres" ]
interval: 10s
timeout: 5s
retries: 5
Итак, глядя на это определение, локальный хост должен быть db, как указано в файле yml

Код: Выделить всё

engine = create_tables_for_voting.create_tables("postgresql+psycopg2://postgres:postgres123@db:5433/voting")
Session = sessionmaker(bind=engine)
session = Session()
Это также не сработало, как указано

Код: Выделить всё

There was an error when connection to db: (psycopg2.OperationalError) could not translate host name "db" to address: No such host is known. 
Итак, я подумал, почему бы не попробовать использовать localhost, поэтому после этого

Код: Выделить всё

 There was an error when connection to db: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5433 failed: server closed the connection unexpectedly This probably means the server terminated abnormally
Моя последняя идея - снова прочитать чужую задачу. Был один человек, у которого возникла проблема с тем, что порт 5432 продолжал использоваться другим экземпляром. Вот почему нужны дополнительные определения портов.
Я занимался этим часами, если кто-нибудь может мне помочь.

Подробнее здесь: https://stackoverflow.com/questions/789 ... the-server

Вернуться в «Python»