Ideą puli połączeń jest to, że masz wystarczającą liczbę połączeń, aby wykorzystać wszystkie dostępne zasoby, a wszelkie przychodzące żądania są ponownie wykorzystywane bez przerywania połączenia z bazą danych i utrzymywania gotowości na nowe połączenie.
pgbouncer to lekki pooler połączeń. pgBouncer działa jako pojedynczy proces, nie tworząc procesu na połączenie, który opiera się na bibliotece o nazwie libevent do puli połączeń.
Konfiguracja pgbouncera na PostgreSQL 9.0 jest bardzo prosta, jednak jest niewielka zmiana w najnowszej wersji, która wymaga ręcznego utworzenia pliku pg_auth. pgbouncer używa pliku pg_auth do uwierzytelniania użytkownika. Wcześniejsza wersja PostgreSQL 9.0, plik pg_auth można znaleźć w $PGDATA/global/pg_auth, teraz w najnowszej wersji plik ten został usunięty i umieszczony w pg_catalog jako tabela „pg_auth”.
Konfiguracja pgbouncera:
1. Najpierw pobierz bibliotekę libevent dla pgbouncera.
Link do pobrania dla 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. Pobierz najnowszą tar pgbouncer i skonfiguruj swój 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. Utwórz plik libevent-i386.conf w katalogu /etc/ld.so.conf.d
vi /etc/ld.so.conf.d/libevent-i386.conf
/usr/local/lib
:wq!
4. Uruchom ldconfig, aby zastosować nowe zmiany.
#ldconfig
5. Zmień właściciela narzędzia pgbouncer w pliku binarnym PostgreSQL na użytkownika postgres.
chown -R postgres:postgres /opt/PostgreSQL/9.0/bin/bin/pgbouncer
6. Utwórz plik pgbouncer_auth do uwierzytelniania użytkowników.
7. Utwórz plik pgbouncer.ini z uprawnieniami użytkownika postgres w katalogu /etc.
8. Uruchom pgbouncera
-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. Połącz się z bazami danych za pomocą pgbouncera
10. Uzyskiwanie pomocy:Połącz się z bazą danych pgbouncer i uzyskaj pomoc.
$ psql -p 6432 -U postgres pgbouncer
pgbouncer=# show help;
Dla lepszego zrozumienia pg_auth możesz znaleźć poniższy link przy 'depesz'.
http://www.depesz.com/index.php/2010/12/04/auto-refreshing-password-file-for- pgbouncer/
Opublikuj swoje komentarze, które są bardzo cenione.