Я использую SQLAlchemy 0.6.6 для базы данных Postgres 8.3 в Windows 7 и PY 2.6. Я оставляю настройки по умолчанию для настройки пула при создании моего движка, который равен pool_size = 5, max_overflow = 10.Проблемы с объединением соединений SQLAlchemy - Postgres на Windows
По какой-то причине соединения продолжают накапливаться, и я периодически получаю «Слишком много клиентов» от PG. Я уверен, что соединения закрываются в блоке finally, так как это приложение доступно только через WSGI (CherryPy) и использует шаблон соединения/запроса. Я также регистрирую, когда соединения закрываются, чтобы убедиться.
Я попытался посмотреть, что происходит, добавив echo_pool = true во время создания моего движка, но ничего не регистрируется. Я могу видеть инструкцию SQL, проходящую через консоль, когда я устанавливаю echo = True, но ничего для объединения.
В любом случае, это сводит меня с ума, потому что мой коллега, который находится на Mac, не имеет ни одной из этих проблем (я знаю, получаю Mac), поэтому я пытаюсь понять, является ли это результатом ошибка или что-то в этом роде. Google ничего не дал, поэтому я надеюсь получить здесь какую-то помощь.
Спасибо, куб.см
Ваш код проверяет соединения из пула или позволяет SQLAlchemy обрабатывать его с помощью сеанса, привязанного к движку? Используете ли вы ScopedSession? –
Я использую SA из коробки, что означает, что объединение по умолчанию включено. Также используется ScopedSession. По умолчанию ScopedSession используется для объединения пулов? –
Вышеприведенный комментарий привел меня к выводу, что место ScopedSession используется неправильно, закрывая соединение. Благодаря! Мне все равно хотелось бы узнать, как увидеть эхо-соединение Connection Pooling, но это для другого сообщения. –