172 похожих чатов

Ребят, добрый день! Хочу поинтересоваться следующим вопросом: Изпользую postgreql в

асинхронном варианте с asyncpg. Использую колхозный вариант выполнения запросов(Нарим):
conn = await makeConnection()
res = await conn.fetchrow(f"SELECT * FROM test_table WHERE id = {id}")
await conn.close()
return res

Т.е. в каждом методе который обращается к бд я открываю коннект выполняю запрос, закрываю коннект.
Через какое то время ловлю asyncpg.exceptions.TooManyConnectionsError: sorry, too many clients already.
Посмотрел select count(*) from pg_stat_activity; вижу что соединения открываются и копятся. Почему так?
Подскажите пожалуйста. Можно матом.

3 ответов

20 просмотров

Кажется вам лучше это спросить в чате по питону

Используйте with для конектов и транзакций, возможно из-за исключений текут конекты, которые не закрываются. А вообще в асинхронной приложении можно и пул конектов держать спокойно или пгбаунсер поставить.

John-Does Автор вопроса

Дорогие коллеги, всем спасибо кто уделил внимание. Проблема решена. Была ошибка в том что я делал ретурн до закрытия коннекта, соответственно происходил выход из функции и закрытие на происходило. Опечатался в одном месте, а потом размножил ошибку. Вопрос исправлен

Похожие вопросы

Обсуждают сегодня

У меня это всегда вопрос вызывало.. Нафига писать код так, чтобы потом ошибки вылавливать?
Nik
44
что за асемблер кста?
Shvabrikk Nya
19
Добрый день! Пробую отловить исключение EConvertError: function _TryTextToDouble(var DoubleVar: Extended; Text: String): Boolean; begin try DoubleVar := StrToFloat...
Kirill Filippenok
19
А где @Grinyaha уважаемый пропал?
Am Ambrion
14
Сделал краткий обзор магазина из статьи и заодно там же записал инструкцию по развёртыванию. https://www.youtube.com/watch?v=8-sE1vNk95Q (чё думаете по звуку? кое-что поменял...
Andrey K
17
Привет, коллеги! Возникла задача ограничить максимальный размер вложений для определённых расширений, например, чтобы для изображений лимит был 10 МБ, а для видео — 100 МБ. Ог...
Andro
1
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
вот не понимаю, зачем вообще лезть в осдев, если даже базы не знаешь? хотя бы про загрузку, форматы файлов железо какое-никакое. Ну реально, даже зная работу железа, с условны...
Mixail Frolov
7
Привет! Вопрос про werf helm Приложение деплоится через werf helm upgrade --atomic Иногда(все условия для воспроизведения до конца непонятны, но есть версия, что это происходи...
𝓐𝓵͢͢͢𝓮𝔁 C
2
Можно ли ставить FPC транк, а Лазарь нет?
А Андрей
9
Карта сайта