Company logo
  • Jobs
  • Bootcamp
  • About Us
  • For professionals
    • Home
    • Jobs
    • Courses
    • Questions
    • Teachers
    • Bootcamp
  • For business
    • Home
    • Our process
    • Plans
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Calculator

0

419
Views
postgresql: FATAL: password authentication failed for user "douglas"

I am trying to migrate a DB from sqlite to postgresql...so I typed:

sudo -u postgres psql
postgres=# ALTER USER postgres WITH PASSWORD 'newpassword';

and the output returns ALTER ROLE

but when I type python manage.py migrate I receive always the same error:

django.db.utils.OperationalError: FATAL: password authentication failed for user "douglas"

This is the database sections of my settings.py.

# Old, using mysqlite
"""
DATABASES = {
    #'default': {
    #    'ENGINE': 'django.db.backends.sqlite3',
    #    'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    #}
    'default': dj_database_url.config(default='postgres://localhost:5432/postgres_db_name'),
}
"""

# New, using postgres
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'douglas_db',
        'USER': 'douglas',
        'PASSWORD': 'vamointer',
        'HOST': '127.0.0.1',
        'PORT': '5432',
    }
}

Note: When I run the 'ALTER USER postgres WITH PASSWORD' I put in the same password defined in the settings.py.

8 months ago · Santiago Trujillo
3 answers
Answer question

0

The SQL you are running does not match the user you are attempting to use.

You will need to create the user if it does not exist:

CREATE USER douglas WITH PASSWORD 'vamointer';

or if it does exist, change that user's password instead.

ALTER USER douglas WITH PASSWORD 'vamointer';

Once you have done that you should have more luck. You may need to assign permissions to that user as well.

8 months ago · Santiago Trujillo Report

0

If you are bone-headed like me and have used 'USERNAME' instead of 'USER' in your Django database configs in settings.py, make sure you change it to 'USER' else you will see this same error. Hope this helps someone like me down the road.

8 months ago · Santiago Trujillo Report

0

Special characters in postgresql are converted to different characters while execution. Make sure you do not have special characters (#,$,etc..) in your password.

If you do, change the postgresql password as follows:

sudo -u postgresql psql
postgresql=#ALTER USER yourusername WITH PASSWORD 
'set_new_password_without_special_character';

Make sure you do not forget the ; at the end of postgresql command. Then run python manage.py and it should work!

8 months ago · Santiago Trujillo Report
Answer question
Find remote jobs