繁体   English   中英

SQLAlchemy (psycopg2.OperationalError) fe_sendauth:未提供密码

[英]SQLAlchemy (psycopg2.OperationalError) fe_sendauth: no password supplied

尝试使用 sqlalchemy 连接到 postgres 数据库时遇到此身份验证问题。 这是我的连接方式:

db_url = 'postgresql+psycopg2:///<role>:<pass>@localhost:5432/basketball'
Engine = create_engine(db_url, echo=False)
SessionMaker = ORM.sessionmaker(bind=Engine, autoflush=False)
Session = ORM.scoped_session(SessionMaker)

这就是我设置/etc/postgresql/9.3/main/pg_hba.conf

# Database administrative login by Unix domain socket
local   all             postgres                                peer

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     md5
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5

然后,在访问数据库时,我得到:

SQLAlchemy  (psycopg2.OperationalError) fe_sendauth: no password supplied 

正如@univerio 评论的那样,问题在于连接 url 的结构。

标准的 url 结构是

dialect+driver://username:password@host:port/database

网址

db_url = 'postgresql+psycopg2:///<role>:<pass>@localhost:5432/basketball'

描述了一个名为<role>:<pass>@localhost:5432/basketball的 Postgresql 数据库,没有定义明确的凭据或主机名,因此出现错误消息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM