SQLAlchemy no password supplied error

PostgresqlSqlalchemy

Postgresql Problem Overview


This is probably a silly error but I cannot seem to find a satisfying solution.

When running db.create_all(), I got the following error.

sqlalchemy.exc.OperationalError: (OperationalError) fe_sendauth: no password supplied  None None

My database link is set as

'postgresql://localhost/db_name'

This worked fine on my Mac and Heroku, but is not OK on ubuntu (digitalocean).

Any ideas what I might be doing wrong?

Postgresql Solutions


Solution 1 - Postgresql

You probably just need to remove "localhost" from your connection string:

'postgresql:///db_name'

That tells psycopg2 to use Unix-domain sockets. Your default configuration will use "ident" so you'll be connecting as the user that runs the script. In the default configuration, "md5" only applies to TCP connections.

Solution 2 - Postgresql

URL pattern should be:

postgresql://user:password@localhost:5432/database_name

pip install psycopg2
the user should be postgres or any other user you have created and intend to use

similarly for mySql it would be:

mysql://user:pass@localhost:3306/database_name

pip install mysql-python

Solution 3 - Postgresql

On your Mac, PostgreSQL was set up for trust or peer authentication for connections from localhost.

On your Ubuntu box it's set up for md5 authentication for connections from localhost.

You'll want to configure a password, or change the authentication mode. See pg_hba.conf, and the Ubuntu guide for PostgreSQL (there's a section about this error).

Solution 4 - Postgresql

Below worked for me. Your connection to your postgres database requires a password; thus, below is what you should write..

pg_user = "magicmike"
pg_pwd = "test123"
pg_port = "5432"
app.config["SQLALCHEMY_DATABASE_URI"] = "postgresql://{username}:{password}@localhost:{port}/foodversity_db".format(username=pg_user, password=pg_pwd, port=pg_port)

Solution 5 - Postgresql

First make sure that the database server is connected and then run the command again.Silly, but it worked for me.

Solution 6 - Postgresql

For Remote Server

  • remote server => postgresql://<username>:<password>@<ipaddress>:<port>/<database>

For Local in configuration use

  • local db => postgressql:///<database>

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionyifanwuView Question on Stackoverflow
Solution 1 - PostgresqlDanny W. AdairView Answer on Stackoverflow
Solution 2 - Postgresqlomokehinde igbekoyiView Answer on Stackoverflow
Solution 3 - PostgresqlCraig RingerView Answer on Stackoverflow
Solution 4 - PostgresqlGenesisView Answer on Stackoverflow
Solution 5 - Postgresqlsarvesh vazarkarView Answer on Stackoverflow
Solution 6 - PostgresqlHARI SANKAR NAYAKView Answer on Stackoverflow