我在使用SQLAlchemy连接PostgreSQL数据库时遇到了身份验证问题。
这是我的连接方式:
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