Het idee achter de connectiepool is dat je genoeg connecties hebt om alle beschikbare bronnen te gebruiken en dat alle inkomende verzoeken opnieuw worden gebruikt zonder de databaseverbinding te verbreken en klaar te blijven voor een nieuwe verbinding om te gebruiken.
pgbouncer is een lichtgewicht verbindingspooler. pgBouncer wordt uitgevoerd als een enkel proces, zonder een proces per verbinding voort te brengen, dat afhankelijk is van de bibliotheek met de naam libevent voor het poolen van verbindingen.
pgbouncer instellen op PostgreSQL 9.0 is heel eenvoudig, maar er is een kleine verandering met de nieuwste versie die je nodig hebt om een handmatig pg_auth-bestand te maken. pgbouncer gebruikt het pg_auth-bestand voor gebruikersauthenticatie. Eerdere versie van PostgreSQL 9.0, u kunt het pg_auth-bestand vinden onder $PGDATA/global/pg_auth, nu in de nieuwste versie is dat bestand verwijderd en in pg_catalog geplaatst als tabel 'pg_auth'.
pgbouncer-configuratie:
1. Download eerst libevent-bibliotheek voor pgbouncer.
Downloadlink voor 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. Download de nieuwste pgbouncer-tar en configureer naar uw 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. Maak een libevent-i386.conf-bestand in de map /etc/ld.so.conf.d
vi /etc/ld.so.conf.d/libevent-i386.conf
/usr/local/lib
:wq!
4. Voer de ldconfig uit om nieuwe wijzigingen toe te passen.
#ldconfig
5. Wijzig het eigendom van het hulpprogramma pgbouncer in PostgreSQL binair in postgres-gebruiker.
chown -R postgres:postgres /opt/PostgreSQL/9.0/bin/bin/pgbouncer
6. Maak het pgbouncer_auth-bestand voor gebruikersauthenticatie.
7. Maak het bestand pgbouncer.ini met gebruikersrechten van postgres in de map /etc.
8. Start 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. Maak verbinding met de databases met pgbouncer
10. Hulp krijgen:maak verbinding met de pgbouncer-database en laat u helpen.
$ psql -p 6432 -U postgres pgbouncer
pgbouncer=# show help;
Voor een beter begrip van pg_auth kunt u de onderstaande link door 'depesz' vinden.
http://www.depesz.com/index.php/2010/12/04/auto-refreshing-password-file-for- pgbouncer/
Plaats uw opmerkingen die zeer op prijs worden gesteld.