{{tag>serveur réseau}}
====== PgBouncer ======
PgBouncer est un pooler de connexion pour [[PostgreSQL]]. Un pooler de connexion permet de maintenir ouvertes des sessions entre lui-même et le serveur, ce qui rend plus rapide l'ouverture de sessions depuis les clients, une application Web par exemple.
PgBouncer permet aussi de mutualiser les sessions dans le serveur, économisant ainsi des ressources. PgBouncer propose plusieurs mode de partage : par requête (default), par transaction ou par session.
===== Installation =====
il suffit d'[[:tutoriel:comment_installer_un_paquet|installer le paquet]] **[[apt>pgbouncer]]**
===== Configuration =====
PgBouncer se positionne entre la base de données postgres et le client. Il fait office de relais. Il faut déclarer les bases que l'on souhaite rendre accessibles par PgBouncer
vi /etc/pgbouncer/pgbouncer.ini
nombasepgboucner = host=127.0.0.1 dbname=nombasesurleserveur
Un fichier d'utilisateur est à mettre à jour également. Il contient la liste des utilisateurs et leurs mots de passe autorisés à accéder à pgBouncer.
vi /etc/pgbouncer/userlist.txt
"utilisateur" "motdepasse"
Note : Le pooler peut être installé sur une autre machine que l'instance PostgreSQL
===== Démarrage =====
Nous avons configuré notre pgBouncer. Il faut maintenant le démarrer.
/etc/init.d/pgbouncer start
Pour forcer le démarrage du pgBouncer au lancement de la machine passer la valeur ''start = 1'' dans le fichier suivant
vi /etc/default/pgbouncer
===== Test de la connexion =====
Pour tester votre connexion.
psql -h HostMachine -p 6432 -U utilisateur nombasepgbouncer
Notez le port par défaut de pgBouncer est le 6432. Il peut être modifié dans le fichier ''/etc/pgbouncer/pgbouncer.ini''
===== Voir aussi =====
* [[https://www.pgbouncer.org/|Site officiel]]
* [[https://public.dalibo.com/archives/publications/|Public Documents about PostgreSQL and Dalibo]]