sql >> Base de Datos >  >> RDS >> PostgreSQL

Agrupación de conexiones con Pgbouncer en PostgreSQL 9.0

Agrupación de conexiones, por qué optamos por la agrupación de conexiones en PostgreSQL, cuando su aplicación exige una gran cantidad de conexiones simultáneas, entonces debe abordarla, porque la agrupación de conexiones se encuentra entre su aplicación y la base de datos.

La idea detrás del grupo de conexiones es que tiene suficientes conexiones para usar todos los recursos disponibles y cualquier solicitud entrante se reutiliza sin perder la conexión de la base de datos y manteniéndose listo para usar una nueva conexión.

pgbouncer es un agrupador de conexiones ligero. pgBouncer se ejecuta como un solo proceso, sin generar un proceso por conexión, que se basa en la biblioteca llamada libevent para la agrupación de conexiones.

La configuración de pgbouncer en PostgreSQL 9.0 es muy simple, sin embargo, hay un pequeño cambio con la última versión que necesita para crear un archivo pg_auth manual. pgbouncer usa el archivo pg_auth para la autenticación del usuario. En la versión anterior de PostgreSQL 9.0, puede encontrar el archivo pg_auth en $PGDATA/global/pg_auth; ahora, en la última versión, ese archivo se eliminó y se colocó en pg_catalog como tabla 'pg_auth'.

Configuración de pgbouncer:

1. Primero, descargue la biblioteca libevent para pgbouncer.
Enlace de descarga para 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. Descargue el tar de pgbouncer más reciente y configúrelo para su 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. Cree un archivo libevent-i386.conf en el directorio /etc/ld.so.conf.d

vi /etc/ld.so.conf.d/libevent-i386.conf

/usr/local/lib
:wq!

4. Ejecute ldconfig para aplicar nuevos cambios.

#ldconfig

5. Cambie la propiedad de la utilidad pgbouncer en el binario de PostgreSQL al usuario de postgres.

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

6. Cree el archivo pgbouncer_auth para la autenticación de usuarios.

7. Cree el archivo pgbouncer.ini con permiso de usuario de postgres en el directorio /etc.

8. Iniciar pgbouncer

-bash-4.1$ ./pgbouncer -d /etc/pgbouncer.ini

2011-08-14 11:42:00.925 1949 LOG File descriptor limit: 1024 (H:1024), max_client_conn: 1000, max fds possible: 1010

9. Conéctese a las bases de datos usando pgbouncer

10. Obtener ayuda:conéctese a la base de datos de pgbouncer y obtenga ayuda.

$ psql -p 6432 -U postgres pgbouncer

pgbouncer=# show help;

Para una mejor comprensión de pg_auth, puede encontrar el siguiente enlace de 'depesz'.
http://www.depesz.com/index.php/2010/12/04/auto-refreshing-password-file-for- pgbouncer/

Publique sus comentarios que son muy apreciados.