SIU-Guarani/Version3.22.0/consideraciones tecnicas/postgres pgbouncer

De SIU
Saltar a: navegación, buscar

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


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

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

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