7๐
As per psycopg2โs documentation. If the host value is empty then by default it will look for the Unix Socket file of Postgres.
And in your error message, it is mentioned that it is looking for the socket file (.s.PGSQL.5432) under the tmp
directory.
If you are running postgres
as a seperate container, then you can find out this socket file under /var/run/postgresql
directory in your container.
You can mount this folder to your host like below:
docker run -e POSTGRES_PASSWORD=mysecretpassword -v /home/username/socket_dir:/var/run/postgresql -d postgres
then you can update your DATABASE object like below:
DATABASES = {
'default': {
'ENGINE': 'django.contrib.gis.db.backends.postgis',
'NAME': 'fnf',
'USER': 'fnfuser',
'PASSWORD': 'fnf2pwd',
'host': '/home/username/socket_dir/',
'port': 5432,
Now the connection should be established.
1๐
There is a difference between your Pycharm and your Django settings.
Pycharm explicitely connects to localhost
when Django setting is trying to connect to ''
.
Simply putting 'localhost'
as your HOST
Django setting should work.
Please note that the correct setting names are uppercase HOST
and PORT
, not lower case host
and port
.
- Creation of dynamic model fields in django
- How to add report section to the Django admin?
- Django queryset filter GT, LT, GTE, LTE returns full object list
- Trouble with Django sending email though smtp.gmail.com
1๐
You should provide name of postgresql docker container as value to host
key:
DATABASES = {
'default': {
'ENGINE': 'django.contrib.gis.db.backends.postgis',
'NAME': 'fnf',
'USER': 'fnfuser',
'PASSWORD': 'fnf2pwd',
'HOST': 'fnf-postgis', # Name of postgres docker container
'PORT': 5432, # Its exposed port
}
}
- Can not use celery delay for saved form: object is not JSON serializable
- Pass JSON to JS using Django render
- Django: "order" a queryset based on a boolean field
- Django HTML E-mail template doesn't load css in the e-mail
- How to filter filter_horizontal in Django admin?