PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Regroupement de connexions avec Pgbouncer sur PostgreSQL 9.0

Regroupement de connexions, pourquoi optons-nous pour le regroupement de connexions dans PostgreSQL, lorsque votre application demande un très bon nombre de connexions simultanées, vous devez vous en approcher, car le pool de connexions se situe entre votre application et la base de données.

L'idée derrière le pool de connexions est que vous disposez de suffisamment de connexions pour utiliser toutes les ressources disponibles et que toutes les requêtes entrantes sont réutilisées sans abandonner la connexion à la base de données et en restant prêt pour une nouvelle connexion à utiliser.

pgbouncer est un pooler de connexion léger. pgBouncer s'exécute en tant que processus unique, ne créant pas de processus par connexion, qui s'appuie sur la bibliothèque nommée libevent pour le regroupement de connexions.

La configuration de pgbouncer sur PostgreSQL 9.0 est très simple, mais il y a un petit changement avec la dernière version dont vous avez besoin pour créer un fichier pg_auth manuel. pgbouncer utilise le fichier pg_auth pour l'authentification des utilisateurs. Version antérieure de PostgreSQL 9.0, vous pouvez trouver le fichier pg_auth sous $PGDATA/global/pg_auth, maintenant dans la dernière version ce fichier a été supprimé et placé dans pg_catalog en tant que table 'pg_auth'.

Configuration de pgbuncer :

1. Tout d'abord, téléchargez la bibliothèque libevent pour pgbouncer.
Lien de téléchargement pour libevent :
http://www.monkey.org/~provos/libevent-2.0.12-stable.tar.gz

tar -xvf libevent-2.0.12-stable.tar.gz
cd libevent-2.0.12-stable
./configure
make
make install

2. Téléchargez le dernier tar de pgbouncer et configurez-le sur votre PostgreSQL 9.0.
http://pgfoundry.org/frs/download.php/2912/pgbouncer-1.4.tgz

tar -xvf pgbouncer-1.4
cd pgbouncer-1.4
./configure --prefix=/opt/PostgreSQL/9.0/bin
make
make install

3. Créez un fichier libevent-i386.conf dans le répertoire /etc/ld.so.conf.d

vi /etc/ld.so.conf.d/libevent-i386.conf
/usr/local/lib
:wq!

4. Exécutez ldconfig pour appliquer les nouvelles modifications.

#ldconfig

5. Modifiez la propriété de l'utilitaire pgbouncer dans le binaire PostgreSQL en utilisateur postgres.

chown -R postgres:postgres /opt/PostgreSQL/9.0/bin/bin/pgbouncer

6. Créez le fichier pgbouncer_auth pour l'authentification des utilisateurs.

7. Créez le fichier pgbouncer.ini avec l'autorisation d'utilisateur postgres sous le répertoire /etc.

8. Démarrer pgbuncer

-bash-4.1$ ./pgbouncer -d /etc/pgbouncer.ini
2011-08-14 11:42:00.925 1949 Limite du descripteur de fichier LOG :1024 (H:1024), max_client_conn :1000, max fds possible :1010

9. Connectez-vous aux bases de données à l'aide de pgbouncer

10. Obtenir de l'aide :connectez-vous à la base de données pgbouncer et obtenez de l'aide.

$ psql -p 6432 -U postgres pgbouncer
pgbouncer=# show help;

Pour une meilleure compréhension de pg_auth, vous pouvez trouver le lien ci-dessous par 'depesz'.
http://www.depesz.com/index.php/2010/12/04/auto-refreshing-password-file-for- pgbuncer/

Postez vos commentaires qui sont très appréciés.