npgsql Leaking Postgres DB Connections: Way to monitor connections?

Posted by Alan on Stack Overflow See other posts from Stack Overflow or by Alan
Published on 2010-05-05T17:43:37Z Indexed on 2010/05/05 17:48 UTC
Read the original article Hit count: 362

Filed under:
|
|
|

Background: I'm moving my application from npgsql v1 to npgsql v2.0.9. After a few minutes of running my application, I get a System.Exception: Timeout while getting a connection from the pool.

The web claims that this is due to leaking connections (opening a db connection, but not properly closing them).

So

I'm trying to diagnose leaking postgres connections in npgsql.

From the various web literature around; one way to diagnose leaking connections is to setup logging on npgsql, and look for the leaking connection warning message in the log. Problem is, I'm not seeing this message in the logs anywhere.

I also found utility that monitors npgsql connections, but it's unstable and crashes.

So I'm left manually inspecting code. For everyplace that creates an npgsql connection, there is a finally block disposing of it. For everyplace that opens a datareader, CommandBehavior.CloseConnection is used (and the datareader is disposed).

Any other places to check or can someone recommend a way to look for leaking pool connections?

© Stack Overflow or respective owner

Related posts about npgsql

Related posts about postgres