PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Pool di connessioni con Pgbouncer su PostgreSQL 9.0

Pool di connessioni, perché scegliamo il pool di connessioni in PostgreSQL, quando la tua applicazione richiede un numero molto buono di accessi di connessione simultanei, devi avvicinarti, perché il pool di connessioni si trova tra la tua applicazione e il database.

L'idea alla base del pool di connessioni è che si dispone di connessioni sufficienti per utilizzare tutte le risorse disponibili e tutte le richieste in arrivo vengono riutilizzate senza interrompere la connessione al database e tenersi pronti per l'utilizzo di una nuova connessione.

pgbouncer è un pool di connessioni leggero. pgBouncer viene eseguito come un singolo processo, non generando un processo per connessione, che si basa sulla libreria denominata libevent per il pool di connessioni.

L'installazione di pgbouncer su PostgreSQL 9.0 è molto semplice, tuttavia c'è un piccolo cambiamento con l'ultima versione necessaria per creare il file pg_auth manuale. pgbouncer utilizza il file pg_auth per l'autenticazione dell'utente. Nella versione precedente di PostgreSQL 9.0, puoi trovare il file pg_auth sotto $PGDATA/global/pg_auth, ora nell'ultima versione quel file è stato rimosso e inserito in pg_catalog come tabella 'pg_auth'.

Impostazione di pgbouncer:

1. Innanzitutto, scarica la libreria libevent per pgbouncer.
Link per il download per 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. Scarica l'ultimo tar di pgbouncer e configuralo sul tuo 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. Crea un file libevent-i386.conf nella directory /etc/ld.so.conf.d

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

/usr/local/lib
:wq!

4. Esegui ldconfig per applicare nuove modifiche.

#ldconfig

5. Cambia la proprietà dell'utilità pgbouncer nel binario PostgreSQL in utente postgres.

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

6. Crea il file pgbouncer_auth per l'autenticazione degli utenti.

7. Crea il file pgbouncer.ini con l'autorizzazione utente postgres nella directory /etc.

8. Avvia 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. Connettiti ai database usando pgbouncer

10. Ottenere aiuto:connettiti al database di pgbouncer e fatti aiutare.

$ psql -p 6432 -U postgres pgbouncer

pgbouncer=# show help;

Per una migliore comprensione di pg_auth è possibile trovare il collegamento sottostante tramite 'depesz'.
http://www.depesz.com/index.php/2010/12/04/auto-refreshing-password-file-for- pgbouncer/

Pubblica i tuoi commenti che sono molto apprezzati.