Есть небольшой бот для телеграмма написанный на Python c использованием библиотеки aiogram. Пытаюсь запустить его на сервере, но выдает ошибку о том, что невозможно подключиться к базе данных PostgreSql. Действовал в следующем порядке:
На ubuntu установил postgresql:
sudo apt -y install postgresql
Потом переключился на пользователя postgres с помощью команды:
sudo -i -u postgres
Создал дополнительную роль и дал права суперюзера:
createuser --interactive
Enter name of role to add: username
Shall the new role to be a superuser (y/n)?: y
Потом создал БД:
createdb username
В коде бота вставил эти параметры:
class PgDatabaseAPI:
def __init__(self, loop: asyncio.AbstractEventLoop):
self.pool: asyncpg.pool.Pool = loop.run_until_complete(
asyncpg.create_pool(
user='username',
password='mylongpassword', # здесь указал пароль от учетной записи ubuntu с одноименным именем username
host='localhost'
)
)
Но при запуске бота выскакивает ошибка:
asyncpg.exceptions.InvalidPasswordError: password authentication failed for user "username"
Что не так? Как правильно связать бота с ДБ? Можно вообще привязать бота сразу к учетной записи по-умолчанию "postgre" без создания других ролей?
Только если можно максимально внятным языком)) Я не разбираюсь ни в Ubuntu, ни в PostgreSQL и до конца не понимаю как это работает (эта часть создания бота, которую я делал по туториалам)