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

PgBouncer existe sous forme de 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 <code> vi /etc/pgbouncer/pgbouncer.ini </code> <code> nombasepgboucner = host=127.0.0.1 dbname=nombasesurleserveur </code> Un fichier d'utilisateur est à mettre à jour également. Il contient la liste des utilisateurs et leurs mots de passe autorisés à accéder à pgBouncer. <code> vi /etc/pgbouncer/userlist.txt </code> <code> "utilisateur" "motdepasse" </code> 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. <code> /etc/init.d/pgbouncer start </code> Pour forcer le démarrage du pgBouncer au lancement de la machine passer la valeur start = 1 dans le fichier suivant <code> vi /etc/default/pgbouncer </code> ===== Test de la connexion ===== Pour tester votre connexion. <code> psql -h HostMachine -p 6432 -U utilisateur nombasepgboucner </code> Notez le port par défaut de pgBouncer est le 6432. Il peut être modifié dans le fichier /etc/pgbouncer/pgbouncer.ini Pour aller plus loin: * http://www.dalibo.org/hs44_pgbouncer_un_pooler_simple_mais_efficace * http://pgbouncer.projects.postgresql.org/ * Configuration : http://pgbouncer.projects.postgresql.org/doc/config.htmli

  • pgbouncer.txt
  • Dernière modification: Le 28/04/2018, 11:22
  • (modification externe)