Agrupador de conexiones [Connection Pooling] ligero para PostgreSQL. pgbouncer es un "middleware" o proxy que se sitúa entre la aplicación y la base de datos PostgreSQL. En lugar de que cada usuario abra y cierre una conexión directa con Postgres lo cual es costoso en términos de CPU y memoria, pgbouncer mantiene un "pool" de conexiones abiertas y las reparte según sea necesario. Archivo de configuración en /etc/pgbouncer/pgbouncer.ini y donde colocar a los usuario autorizados en /etc/pgbouncer/userlist.txt y el ejemplo de sintaxis en /usr/share/doc/pgbouncer/examples/userlist.txt.
# systemctl status pgbouncer
$ psql -h 127.0.0.1 -p 6432 -U usuario_app -d ventas
$ psql -p 6432 -U pgbouncer pgbouncer
Dentro de la consola se puede ejecutar comandos especiales:
SHOW POOLS; --> Mira cuántas conexiones están activas y cuántas en espera.
SHOW CLIENTS; --> Lista todas las aplicaciones conectadas actualmente.
PAUSE; --> Detiene todas las conexiones nuevas (útil para backups o cambios rápidos).
RELOAD; --> Recarga la configuración sin cortar las conexiones actuales.
Nota.- Si la aplicación tiene menos de 50 usuarios y estos mantienen conexiones estables, añadir PgBouncer podría ser una capa de complejidad innecesaria.