asyncpg Соединение не закрыто. Невозможно получить доступ к определенной таблице на pgAdmin4 из-за asyncpg - PullRequest
0 голосов
/ 04 июля 2019

У меня есть три таблицы в моей базе данных. таблица1, таблица2 и таблица2. Теперь я попытался вставить / обновить в table2, используя asyncpg в Python.

Но я не знал, что каждый раз мне приходилось открывать / закрывать соединение для каждого запроса.

Итак, я установил соединение один раз:

self.conn = await asyncpg.connect(user=DB_USER, host=DB_HOST,password=DB_PASSWORD)                                          )

А потом я запустил запросы:

await self.conn.execute('INSERT INTO table2')
row = await self.conn.fetchrow('select * from table2 where url = $1',url)

и т.д ...

Я не закрывал соединение.

при выполнении запросов для нескольких данных я получал это сообщение на терминале для некоторых:

cannot perform operation: another operation is in progress

И я не могу открыть ту же таблицу2 в pgadmin4.

каждый раз, когда я получаю ту же ошибку только для table2 на pgadmin4

Not connected to the server or the connection to the server has been closed.

Но для всех других таблиц я могу успешно запрашивать данные.

Затем я создал новую базу данных (с тем же именем пользователя) и новую таблицу с той же схемой, что и table2. Теперь даже в новой базе данных я не могу получить доступ к этой таблице.

Это потому, что asyncpg все еще имеет открытые соединения? Как мне от них избавиться? Asyncpg также хранит имя пользователя где-нибудь? Может кто-нибудь помочь мне, пожалуйста?

...