Хочу подключиться к БД Heroku Postgrresql через модуль asyncpg python

Я хочу подключить своего бота на aiogram к бд heroku postgre. Я получил ссылку вида postgres://..... Не понимаю, с помощью какого метода я должен эт сделать. Получаю такую ошибку:

2021-07-07T10:37:05.317336+00:00 app[worker.1]: Traceback (most recent call last):
2021-07-07T10:37:05.317373+00:00 app[worker.1]:   File "/app/app.py", line 4, in <module>
2021-07-07T10:37:05.317539+00:00 app[worker.1]:     from data.config import DBConfig
2021-07-07T10:37:05.317567+00:00 app[worker.1]:   File "/app/data/__init__.py", line 1, in <module>
2021-07-07T10:37:05.318163+00:00 app[worker.1]:     from . import config
2021-07-07T10:37:05.318193+00:00 app[worker.1]:   File "/app/data/config.py", line 13, in <module>
2021-07-07T10:37:05.318574+00:00 app[worker.1]:     conn = asyncpg.connect(DATABASE_URL, sslmode='require',)
2021-07-07T10:37:05.318678+00:00 app[worker.1]: TypeError: connect() got an unexpected keyword argument 'sslmode'

Код подключения:

DATABASE_URL = os.environ['DATABASE_URL']
conn = asyncpg.connect(DATABASE_URL, sslmode='require')

Ответы (1 шт):

Автор решения: MyZik

Во-первых, метод connect в библиотеке asyncpg - асинхронный, и перед вызовом асинхронной функции должен указываться оператор await.

Во-вторых, интерпретатор говорит, что Вы передаёте в метод connect аргумент, который там не нужен. То есть, вместо asyncpg.connect(DATABASE_URL, sslmode='require',) нужно использовать asyncpg.connect(DATABASE_URL).

Ну и в-втретьих, пример взят из официальной документации.

DATABASE_URL = os.environ['DATABASE_URL']
conn = await asyncpg.connect(DATABASE_URL)
→ Ссылка