我尝试使用 SQLAlchemy 连接 PostgreSQL 数据库。
我创建了一个像这样的新角色。首先,我使用以下命令登录到 postgres 帐户
sudo -i -u postgres
接下来,发出命令:
createuser --interactive
我还为数据库用户创建了一个新的用户帐户。
sudo adduser veritabani
完成此过程后,我使用此命令访问 PostgreSQL 提示符
sudo -i -u veritabani
psql -d havalimani
我还执行了一条运行良好的 SQL 语句。
SELECT * FROM uçuşlar;
另一方面,我想使用 Python 和 SQLAlchemy 访问数据库。我有这样的代码:
import os
from sqlalchemy import create_engine
from sqlalchemy.orm import scoped_session, sessionmaker
engine = create_engine(os.getenv("DATABASE_URL"))
db = scoped_session(sessionmaker(bind=engine))
def main():
print (os.getenv("DATABASE_URL"))
flights = db.execute("SELECT kalkış, varış, süre FROM uçuşlar")
for flight in flights:
print(f"{flight.kalkış} dan {flight.varış} a, {flight.süre} dakika")
if __name__ == "__main__":
main()
我用这个语句给DATABASE_URL一个初始值;
export DATABASE_URL="postgresql://localhost/havalimani?user=veritabani&password=pwd"
但是当我运行Python程序时,它给出了这样的错误:
FATAL: password authentication failed for user "veritabani"
(Background on this error at: http://sqlalche.me/e/e3q8)