Согласно документации psycopg2 . Если значение хоста пустое, то по умолчанию оно будет искать файл Unix Socket Postgres.
И в вашем сообщении об ошибке упоминается, что он ищет файл сокета ( .s.PGSQL.5432 ) в каталоге tmp
.
Если вы используете postgres
как отдельный контейнер, то вы можете найти этот файл сокета в каталоге /var/run/postgresql
вашего контейнера.
Вы можете смонтировать эту папку на свой хост, как показано ниже:
docker run -e POSTGRES_PASSWORD=mysecretpassword -v /home/username/socket_dir:/var/run/postgresql -d postgres
, затем вы можете обновить объект DATABASE , как показано ниже:
DATABASES = {
'default': {
'ENGINE': 'django.contrib.gis.db.backends.postgis',
'NAME': 'fnf',
'USER': 'fnfuser',
'PASSWORD': 'fnf2pwd',
'host': '/home/username/socket_dir/',
'port': 5432,
Теперь соединение должно быть установлено.