Pgbouncer is a PostgreSQL connection pooler. Any target application can be connected to Pgbouncer as if it were a PostgreSQL server, and Pgbouncer will create a connection to the actual server, or it will reuse one of its existing connections.
The aim of Pgbouncer is to lower the performance impact of opening new connections to PostgreSQL.