PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Pule połączeń z Pgbouncer w PostgreSQL 9.0

Pule połączeń, Dlaczego wybieramy pulę połączeń w PostgreSQL? Kiedy Twoja aplikacja wymaga bardzo dużej liczby jednoczesnych połączeń, musisz się do tego zbliżyć, ponieważ Pula połączeń znajduje się pomiędzy Twoją aplikacją a bazą danych.

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.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak za pomocą postgres przekonwertować interwał na liczbę godzin?

  2. Zautomatyzowane testowanie procesu aktualizacji dla PostgreSQL

  3. Ograniczenia tabel krzyżowych w PostgreSQL

  4. Jak zaktualizować tablicę w PostgreSQL

  5. Jak wykonać zapytanie o wartości null w polu typu json postgresql?