TL;DR — Résumé Rapide

Configurez PgBouncer pour le pool de connexions PostgreSQL afin de gérer un trafic élevé, prévenir l'épuisement de la mémoire et optimiser les performances.

Le Problème de Connexion PostgreSQL

PostgreSQL crée un nouveau processus par connexion, consommant mémoire et CPU. PgBouncer est un pooler léger qui s’intercale entre l’application et la base.

Prérequis

  • Serveur Linux avec PostgreSQL (12+).
  • Accès root ou sudo.

Configuration Étape par Étape

1. Installer PgBouncer

sudo apt update && sudo apt install pgbouncer

2. Configurer l’Authentification

sudo -u postgres psql -Atq -c "SELECT concat('\"', usename, '\" \"', passwd, '\"') FROM pg_shadow;" > /tmp/userlist.txt
sudo mv /tmp/userlist.txt /etc/pgbouncer/userlist.txt
sudo chown postgres:postgres /etc/pgbouncer/userlist.txt
sudo chmod 600 /etc/pgbouncer/userlist.txt

3. Configurer pgbouncer.ini

[databases]
mabase = host=127.0.0.1 port=5432 dbname=mabase

[pgbouncer]
listen_addr = *
listen_port = 6432
auth_type = md5
auth_file = /etc/pgbouncer/userlist.txt
pool_mode = transaction
default_pool_size = 20
max_client_conn = 2000

4. Connecter l’Application

Changez le port de 5432 à 6432.


Résumé

  • Utilisez PgBouncer pour prévenir l’épuisement de la mémoire.
  • Définissez pool_mode = transaction pour les applications web.

Articles Connexes