Blog JSystems - uwalniamy wiedzę!

Szukaj
Z tego artykułu dowiesz się:
  • czym jest baza serwisowa w pgBouncerze,
  • jak sprawdzać ustawienia pgBouncera za pomocą jego CLI,
  • jak zmieniać ustawienia pgBouncera za pomocą jego CLI,
  • jak sprawdzać statystyki pgBouncera za pomocą jego CLI,
  • jak sprawdzać informacje o serwerach i klientach pgBouncera za pomocą jego CLI,
  • jak zablokować i odblokować połączenia poprzez pgBouncer za pomocą jego CLI.

PgBouncer umożliwia połączenie do bazy "serwisowej" pgbouncer przez psql, gdzie możemy znaleźć statystyki dotyczące użytkowania oraz zarządzać connection poolerem.

[Host 4: pgbouncer]

psql -p 6432 -U postgres pgbouncer

Zapytani o hasło podajemy to, którego hash zapisaliśmy w pliku "/etc/pgbouncer/userlist.txt".

Poniższe polecenia działają tylko, jeżeli jesteśmy podłączeni do wirtualnej instancji "pgbouncer".
Informacje o kolejkach, liczbie aktywnych sesji i połączeń w kolejce:

show pools;

Aktualne ustawienia pgbouncera, zmiana oraz przeładowanie ustawień

show config;

set parametr = wartość;

RELOAD;

Inne przydatne widoki to:

show stats; - statystyki od startu procesu

show totals; - statystyki od czasu pierwszego startu

show servers; - informacje o serwerach

show clients; - informacje o klientach

Mamy również możliwość zatrzymania kolejkowania połączeń, "PAUSE;" pgbouncer zacznie odrzucać nowe połączenia, rozłączy wszystkie oczekujące połączenia, pozwoli ukończyć aktywne zapytania / transakcje, a po zakończeniu natychmiast zamknie połączenie z postgresem. Przydatna opcja przed kontrolowanym restartem, jeżeli nie chcemy przerwać żadnej transakcji. Nowe połączenia będą niemożliwe do czasu wykonania "RESUME;"

DISABLE db; / ENABLE db; - odrzucanie/wznowienie nowych połączeń dla danej bazy

RECONNECT db; - zamyka wszystkie aktywne połączenia z postgresem i pozwala na natychmiastowe otwarcie nowych. Przydatne, jeżeli zmienialiśmy parametry postgresa, które są aktywowane po ponownym połączeniu, np. work_mem.

PgBouncer umożliwia wykonanie restartu "online", ale tylko na linuxie i jeżeli nie korzystamy z TLS. Poprzez uruchomienie pgbounera z opcją -R -d wystartujemy nowy proces, który przejmie wszystkie aktywne połączenia, po czym zatrzyma stary proces pgbouncera. Możemy w ten sposób zmieniać parametry wymagające restartu lub wykonać upgrade pgbounera.

Baner szkolenia Administracja, replikacja i tuning baz danych PostgreSQL w JSystems, terminy gwarantowane

Szkolenie Administracja, replikacja i tuning baz danych PostgreSQL →

To szkolenie może być dofinansowane dla Ciebie z KFS lub BUR.

★★★★★Średnia ocena naszych szkoleń w Google: 5/5

Najczęściej zadawane pytania

Czym jest baza serwisowa pgbouncer i jak się do niej połączyć?
To wirtualna baza wewnątrz pgBouncera (mechanizmu poolingu połączeń, który zarządza pulą połączeń do bazy), do której łączymy się przez psql na porcie 6432, podając nazwę pgbouncer. Znajdziemy w niej statystyki użytkowania oraz komendy do zarządzania poolerem. Hasło podajemy to, którego skrót zapisaliśmy w pliku userlist.txt.
Jak sprawdzić i zmienić ustawienia pgBouncera z poziomu jego CLI?
Po połączeniu do bazy serwisowej aktualne ustawienia wyświetlamy poleceniem show config. Zmianę wprowadzamy poleceniem set parametr = wartosc, a następnie zatwierdzamy ją poleceniem RELOAD. Polecenia te działają tylko wtedy, gdy jesteśmy podłączeni do wirtualnej instancji pgbouncer.
Do czego służy polecenie PAUSE w pgBouncerze?
PAUSE sprawia, że pgBouncer zaczyna odrzucać nowe połączenia i rozłącza oczekujące, ale pozwala dokończyć aktywne zapytania i transakcje, po czym zamyka połączenie z bazą. Jest to przydatne przed kontrolowanym restartem, gdy nie chcemy przerwać żadnej transakcji. Nowe połączenia są wstrzymane do czasu wydania polecenia RESUME.
Jak zmusić pgBouncer do ponownego połączenia z bazą po zmianie parametrów?
Służy do tego polecenie RECONNECT db, które zamyka wszystkie aktywne połączenia z bazą i pozwala natychmiast otworzyć nowe. Jest przydatne, gdy zmienialiśmy parametry PostgreSQL aktywowane dopiero po ponownym połączeniu, na przykład work_mem.
Czy pgBouncer da się zrestartować bez zrywania połączeń?
Tak, pgBouncer umożliwia restart online, ale tylko na Linuksie i pod warunkiem, że nie korzystamy z szyfrowania TLS. Uruchamiamy go wtedy z opcjami -R -d, dzięki czemu nowy proces przejmuje aktywne połączenia, a stary proces zostaje zatrzymany. Pozwala to zmieniać parametry wymagające restartu lub wykonać aktualizację poolera.

Komentarze (0)

Musisz być zalogowany by móc dodać komentarz. Zaloguj się przez Google

Brak komentarzy...