我尝试用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)