SIU-Guarani/Version3.22.0/consideraciones tecnicas/postgres pgbouncer
Sumario
[ocultar]Instalación y configuración de PgBouncer
PgBouncer es un pool de conexiones para PostgreSQL que permite limitar y administrar eficientemente las conexiones concurrentes hacia el motor de base de datos.
1. Instalación de PgBouncer
En el servidor donde se instalará PgBouncer (puede ser el mismo servidor de PostgreSQL o uno intermedio), ejecutar:
sudo apt update
sudo apt install pgbouncer
sudo apt install pgbouncer
2. Configuración básica
Editar el archivo de configuración pgbouncer.ini ubicado en /etc/pgbouncer/pgbouncer.ini:
[databases]
db_guarani = host=localhost port=5432 dbname=dbguarani pool_mode=session
[pgbouncer]
listen_port = 6432
listen_addr = *
auth_type = md5
auth_file = /etc/pgbouncer/userlist.txt
pool_mode = session
db_guarani = host=localhost port=5432 dbname=dbguarani pool_mode=session
[pgbouncer]
listen_port = 6432
listen_addr = *
auth_type = md5
auth_file = /etc/pgbouncer/userlist.txt
pool_mode = session
Crear el archivo userlist.txt con los usuarios autorizados:
"usuario" "md5<hash_del_password>"
Para generar el hash:
echo -n 'usuario' && echo -n 'clave' | md5sum
3. Habilitar y levantar el servicio
sudo systemctl enable pgbouncer
sudo systemctl start pgbouncer
sudo systemctl start pgbouncer
4. Configurar las aplicaciones para conectarse a PgBouncer
Cambiar el puerto de conexión de PostgreSQL (5432) al de PgBouncer (6432). El resto de los parámetros (host, usuario, contraseña) se mantienen igual.
5. Verificar conexiones activas
psql -h localhost -p 6432 -U usuario -d db_guarani -c "SHOW POOLS;"
6. Reiniciar PgBouncer para aplicar cambios
sudo systemctl restart pgbouncer