SQLAlchemy - Engine Select

Пример 1 - прочитать из базы значение

команда состояние соединения последняя SQL комментарии
engine = create_engine(f'postgresql://...') нет соединения    
result = engine.execute("select name from host LIMIT 10") idle in transaction select name from host LIMIT 10 данные уже в result
for row in result: print("name:", row['name']) idle ROLLBACK соединение в пуле

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

engine = create_engine(f'postgresql://...') нет соединения    
result = engine.execute("select name from host LIMIT 10") idle in transaction select name from host LIMIT 10 данные уже в result
for row in result: break; print("name:", row['name']) idle in transaction select name from host LIMIT 10 соединение не в пуле

решение в закрытии result, очевидно, result.close() лучше всегда вызывать

engine = create_engine(f'postgresql://...') нет соединения    
result = engine.execute("select name from host LIMIT 10") idle in transaction select name from host LIMIT 10 данные уже в result
result.close() idle ROLLBACK соединение в пуле
Яндекс.Метрика