Npgsql: таймаут при получении соединения из пула

Справочная информация. Я перемещаю свое приложение из mssql в npgsql v2.0.11.92. Через несколько минут или несколько часов выполнения моего приложения я получаю System.Exception: Timeout, получая соединение из пула.

Я использую версию lib версии 2.0.11.92 в среде x86 на платформе x64. Все соединения закрыты и расположены в последнем блоке не позднее, но через некоторое время я получаю сообщение об ошибке. Таким образом, это должна быть проблема библиотеки Npgsql.

В моем приложении есть много запросов, происходящих в фоновом режиме каждые несколько секунд, но в большинстве случаев они просто выполняются последовательно, а не в паралелях.

Моя используемая строка подключения: SERVER = mydbserver; MINPOOLSIZE = 3; MaxPoolSize = 15; ConnectionLifeTime = 7; DATABASE = Test DB; UID = user; PWD = pass

Я пытаюсь диагностировать утечку соединений postgres в npgsql.

FYI: В библиотеке Npgsql уже появилась проблема утечки, исправленная в последней версии 2.0.11.92. Но все же есть некоторые проблемы, я полагаю.

Кто-нибудь сталкивался с подобными проблемами с текущей версией библиотеки (npgsql v2.0.11.92)?

Ответ 1

У меня была та же проблема. Решение состоит в отключении пула соединений. Вы делаете это в строке соединения перед подключением к базе данных из своего приложения С#

В вашей строке подключения:

Pooling=false;