Die Idee hinter dem Verbindungspool ist, dass Sie genügend Verbindungen haben, um alle verfügbaren Ressourcen zu nutzen, und alle eingehenden Anforderungen wiederverwendet werden, ohne die Datenbankverbindung zu unterbrechen und für eine neue Verbindung bereitzuhalten.
pgbouncer ist ein leichter Verbindungspooler. pgBouncer wird als einzelner Prozess ausgeführt und erzeugt keinen Prozess pro Verbindung, der sich auf die Bibliothek namens libevent für das Verbindungspooling stützt.
Das pgbouncer-Setup auf PostgreSQL 9.0 ist sehr einfach, es gibt jedoch eine kleine Änderung mit der neuesten Version, die Sie zum Erstellen einer manuellen pg_auth-Datei benötigen. pgbouncer verwendet die pg_auth-Datei für die Benutzerauthentifizierung. In früheren Versionen von PostgreSQL 9.0 finden Sie die pg_auth-Datei unter $PGDATA/global/pg_auth, jetzt wurde diese Datei in der neuesten Version entfernt und in pg_catalog als Tabelle „pg_auth“ abgelegt.
pgbouncer-Setup:
1. Laden Sie zuerst die libevent-Bibliothek für pgbouncer herunter.
Download-Link für 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. Laden Sie das neueste Pgbouncer-Tar herunter und konfigurieren Sie es auf 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. Erstellen Sie eine libevent-i386.conf-Datei im /etc/ld.so.conf.d-Verzeichnis
vi /etc/ld.so.conf.d/libevent-i386.conf
/usr/local/lib
:wq!
4. Führen Sie ldconfig aus, um neue Änderungen anzuwenden.
#ldconfig
5. Ändern Sie den Besitz des Dienstprogramms pgbouncer in der PostgreSQL-Binärdatei zu postgres user.
chown -R postgres:postgres /opt/PostgreSQL/9.0/bin/bin/pgbouncer
6. Erstellen Sie die Datei pgbouncer_auth für die Benutzerauthentifizierung.
7. Erstellen Sie die Datei pgbouncer.ini mit Postgres-Benutzerberechtigung im Verzeichnis /etc.
8. pgbouncer starten
-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. Stellen Sie mit pgbouncer
eine Verbindung zu den Datenbanken her
10. Hilfe erhalten:Verbinden Sie sich mit der pgbouncer-Datenbank und erhalten Sie Hilfe.
$ psql -p 6432 -U postgres pgbouncer
pgbouncer=# show help;
Zum besseren Verständnis von pg_auth finden Sie den folgenden Link von 'depesz'.
http://www.depesz.com/index.php/2010/12/04/auto-refreshing-password-file-for- pgbouncer/
Veröffentlichen Sie Ihre Kommentare, die sehr geschätzt werden.