Para cada conexão nova, o server Postgres cria um novo processo. Assim, se 100 clientes se conectarem ao banco de dados, então 100 processos serão abertos. Isso é lento, ineficiente e não escala (famosa frase no mundo da tecnologia).
O PgBouncer atua como um middleware entre os clientes e o servidor Postgres. Os cliente se conectam ao PgBouncer da mesma maneira que se conectariam ao servidor Postgres. Assim, o PgBouncer é encarregado de lidar com todas as requisições de maneira eficiente.
Em resumo, o PgBouncer diminui a sobrecarga de abrir várias conexões com um banco de dados Postgres.