Я пытаюсь соединить базу данных PostgreSQL с SQLAlchemy.
Я создал новую роль, подобную этой. Сначала я вошел в учетную запись 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)