A Connection Pool is the term used for a collection of already connected sessions that can be used to reduce the overhead of connection and reconnection.
There are various ways that connection pools can be provided, depending upon the software stack in use. Probably the best option is to look at "server side" connection pool software, because that works for all connection types, not just within a single software stack.
Here we're going to look at pgbouncer, which is designed as a very lightweight connection pool. The name comes from the idea that the pool can be paused/resumed to allow the server to be restarted or bounced.
First of all, decide where you're going to store the pgbouncer parameter files, log files, ...