SQLAlchemy没有提供密码错误

时间:2014-05-23 23:20:02

标签: postgresql sqlalchemy

这可能是一个愚蠢的错误,但我似乎找不到令人满意的解决方案。

运行db.create_all()时,出现以下错误。

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

我的数据库链接设置为

'postgresql://localhost/db_name'

这在我的Mac和Heroku上运行良好,但在ubuntu(digitalocean)上运行不正常。

任何想法我可能做错了什么?

6 个答案:

答案 0 :(得分:52)

你可能只需要删除" localhost"来自您的连接字符串:

'postgresql:///db_name'

告诉psycopg2使用Unix域套接字。您的默认配置将使用" ident"因此,您将以运行脚本的用户身份进行连接。在默认配置中," md5"仅适用于TCP连接。

答案 1 :(得分:15)

网址格式应为:

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

pip install psycopg2
用户应该是postgres或您已创建并打算使用的任何其他用户

同样适用于mySql:

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

pip install mysql-python

答案 2 :(得分:4)

在Mac上,PostgreSQL设置为trustpeer身份验证来验证来自localhost的连接。

在您的Ubuntu框中,它为来自localhost的连接设置了md5身份验证。

您需要配置密码或更改身份验证模式。请参阅pg_hba.confUbuntu guide for PostgreSQL

答案 3 :(得分:4)

以下为我工作。您与postgres数据库的连接需要密码;因此,下面是您应该写的内容。

fromEvent

答案 4 :(得分:0)

首先确保数据库服务器已连接,然后再次运行该命令。愚蠢的,但它对我有用。

答案 5 :(得分:-1)

对于远程服务器

  • 远程服务器 => postgresql://<username>:<password>@<ipaddress>:<port>/<database>

本地配置使用

  • 本地数据库 => postgressql:///<database>