31

I have cloned a repo from github and working on it. The project was in django and using postgres as database. This project is now on the production side and I need to make some changes to it. The database specs is :

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        # Or path to database file if using sqlite3.
        'NAME': 'project_name',
        'USER': 'admin',
        'PASSWORD': '',
        # Empty for localhost through domain sockets or           '127.0.0.1'
        # for localhost through TCP.
        'HOST': 'localhost',
        'PORT': '5432',
    }
}

I want to run this on my local host but I am not able to. I am getting error:

django.db.utils.OperationalError: fe_sendauth: no password supplied

I have searched for this problem but couldn't find a solution that could help me. Can anyone tell me where the problem is?

the_unknown_spirit
  • 2,518
  • 7
  • 34
  • 56

5 Answers5

33

If you want to use a local password less connection then you need to remove the values "HOST", "PORT" and "PASSWORD".

With this configuration your connector will try to connect using a unix domain socket which is the only allowed password less connection allowed by default in Postgres

10

I can think of two possible solutions to this problem.

First, if there is no password for the database, remove the PASSWORD key. E.g.:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'project_name',
        'USER': 'admin',
        'HOST': 'localhost',
        'PORT': '5432',
    }
}

Second, if there is a password for the database, provide it in the PASSWORD key:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'project_name',
        'USER': 'admin',
        'PASSWORD': '<YOUR PASSWORD HERE...>',
        'HOST': 'localhost',
        'PORT': '5432',
    }
}
Floyd
  • 2,252
  • 19
  • 25
1

Maybe a stupid thing. But for me the problem was that postgres wasn't actually running. So always check whether it's running.

In Linux:

sudo service postgresql status
kramer65
  • 50,427
  • 120
  • 308
  • 488
0

TO CREATE NEW DATABASE Open pgAdmin, left click on Servers then right click on PostgreSQL--->Create--->Database. Fill the database name field, let say SCHOOL and save.

TO REGISTER SERVER Right click on Servers then Register-->Server, fill the Name field with any name of your choice for example admin. Navigate to connection, fill the Hostname/address field with localhost or 127.0.0.1,fill the password field let say 1234 and save password, leave other fields as they are. image may not be available at the moment

Finally your codes snippet will be like the below one;

DATABASES = {
'default': {
    'ENGINE': 'django.db.backends.postgresql_psycopg2',
    'NAME': 'SCHOOL',
    'USER': 'postgres',
    'PASSWORD': '1234',
    'HOST': 'localhost',
    'PORT': '5432',
}

}

0

This happened to me now, I found out it was db version.