The pgpool-II utility is basically a middleware solution that works as an interface between a PostgreSQL server and a PostgreSQL client application. The pgpool-II utility serves as a proxy between PostgreSQL's backend and frontend protocols and relays a connection between the two. The pgpool-II utility caches connections to PostgreSQL servers and reuses them whenever a new connection with the same properties comes in, thereby reducing connection negotiation overhead such as authentication and encryption, and improving overall throughput.
In fact, the pgpool-II utility offers a lot more features than just connection pooling. It offers load balancing and replication modes along with the parallel query feature.
The pgbouncer utility is a lightweight connection pooler for PostgreSQL. Applications connect to the pgbouncer port just as they would connect to a PostgreSQL database on the database port. Using the pgbouncer utility, we can lower the connection overload impact on PostgreSQL...