Django не может подключиться к Docker-контейнеру PostgreSQL через psycopg2
Я пытаюсь перенести проект django на macOS Monterey 12.3, и у меня возникли некоторые проблемы.
Похоже, что psycopg2 вообще не хочет подключаться к моему контейнеру docker. Каждый раз он выдает эту ошибку:
django.db.utils.OperationalError: connection to server at "localhost" (127.0.0.1), port 5433 failed: server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
Для моего процесса docker я создаю его, выполнив
docker run --name local-postgres -p 5433:5433 -e POSTGRES_PASSWORD=test123 -d postgres
Я запускаю python 3.9.12 в виртуальной среде с помощью pipenv, и моя арка - arm64, если кому интересно.
Я пробовал менять порты, я пробовал перезагружаться, полностью удалять docker и загружать его снова, переустанавливать django и снова переустанавливать venv, и пока ничего не помогло. Я также пробовал установить CONN_MAX_AGE=0 в настройках, что не помогло.
Помогите пожалуйста
Postgres прослушивает порт 5432, поэтому вам нужно сопоставить его с портом, к которому вы хотите подключиться на хосте. Похоже, что вы хотите использовать порт 5433, поэтому вы должны сделать
docker run --name local-postgres -p 5433:5432 -e POSTGRES_PASSWORD=test123 -d postgres
Тогда вы можете подключиться на хосте, используя порт localhost 5433.