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.

Вернуться на верх