The oldest of the PostgreSQL compatible packages used for connection pooling is pgpool. The original version of pgpool had many fewer features, but now it is in good shape. The pgpool-II improves on the original pgpool in a variety of ways, and detail can be found at http://www.pgpool.net/mediawiki/index.php/Main_Page.
Its primary purpose is not just connection pooling: it also provides load balancing and replication related capabilities and a parallel query feature which is dropped in pgpool version 3.4.