Fra*_*tia 6 python database postgresql sqlalchemy
尝试使用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)
Run Code Online (Sandbox Code Playgroud)
这就是我的设置方式 /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
Run Code Online (Sandbox Code Playgroud)
然后,当访问db我得到:
SQLAlchemy (psycopg2.OperationalError) fe_sendauth: no password supplied
Run Code Online (Sandbox Code Playgroud)
正如@univerio 评论的那样,问题在于连接 url 的结构。
标准的 url 结构是
dialect+driver://username:password@host:port/database
Run Code Online (Sandbox Code Playgroud)
网址
db_url = 'postgresql+psycopg2:///<role>:<pass>@localhost:5432/basketball'
Run Code Online (Sandbox Code Playgroud)
<role>:<pass>@localhost:5432/basketball
描述了一个未定义显式凭据或主机名的Postgresql 数据库,因此出现错误消息。
归档时间: |
|
查看次数: |
2901 次 |
最近记录: |