SQLAlchemy no password supplied error
PostgresqlSqlalchemyPostgresql 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>