Jest to polecenie pgbouncer, które można uruchomić w darmowym dostawcy usług hostingowych OnWorks przy użyciu jednej z wielu naszych bezpłatnych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online systemu Windows lub emulator online MAC OS
PROGRAM:
IMIĘ
pgbouncer - lekki pula połączeń dla PostgreSQL
STRESZCZENIE
pgbouncer [-d][-R][-v][-u użytkownik]
pgbouncer -V|-h
Na komputerach z systemem Windows dostępne są następujące opcje:
pgbouncer.exe [-v][-u użytkownik]
pgbouncer.exe -V|-h
Dodatkowe opcje konfiguracji usługi Windows:
pgbouncer.exe --regservice
pgbouncer.exe --unregservice
OPIS
pgbouncer jest pulą połączeń PostgreSQL. Można podłączyć dowolną aplikację docelową
pgbouncer jakby to był serwer PostgreSQL i pgbouncer utworzy połączenie z
rzeczywistego serwera lub użyje ponownie jednego z istniejących połączeń.
Celem pgbouncer jest zmniejszenie wpływu otwierania nowych połączeń na wydajność
PostgreSQL.
Aby nie narażać na szwank semantyki transakcji dla puli połączeń, pgbouncer
obsługuje kilka rodzajów łączenia podczas obracania połączeń:
Sesja łączenie
Najbardziej uprzejma metoda. Gdy klient się połączy, zostanie przypisane połączenie z serwerem
przez cały czas połączenia klienta. Gdy klient się rozłączy,
połączenie z serwerem zostanie przywrócone do puli. To jest domyślna metoda.
Transakcja łączenie
Połączenie z serwerem jest przydzielane klientowi tylko podczas transakcji. Gdy
PgBouncer zauważa, że transakcja została zakończona, połączenie z serwerem zostanie przywrócone
do basenu.
Zestawienie sprzedaży łączenie
Najbardziej agresywna metoda. Połączenie z serwerem zostanie przywrócone do puli
natychmiast po zakończeniu zapytania. Transakcje wielowyciągowe są niedozwolone
w tym trybie, ponieważ mogłyby się złamać.
Interfejs administracyjny pgbouncer składa się z kilku nowych POKAZAĆ dostępne polecenia
po podłączeniu do specjalnej „wirtualnej” bazy danych pgbouncer.
SZYBKI START
Podstawowa konfiguracja i użytkowanie w następujący sposób.
1. Utwórz plik pgbouncer.ini. Szczegóły w pgbouncer(5). Prosty przykład:
[bazy danych]
szablon1 = host=127.0.0.1 port=5432 nazwa bazy danych=szablon1
[pgbouncer]
port_odsłuchu = 6543
adres_odsłuchu = 127.0.0.1
typ_autoryzacji = md5
plik_auth = użytkownicy.txt
plik dziennika = pgbouncer.log
plik pid = pgbouncer.pid
admin_users = jakiś użytkownik
2. Utwórz użytkownicy.txt plik zawierający użytkowników dozwolonych w:
"jakiś użytkownik" "to samo_hasło_jak_na_serwerze"
3. Uruchomić pgbouncer:
$ pgbouncer -d pgbouncer.ini
4. Miej swoją aplikację (lub Psql klient) połączyć się z pgbouncer zamiast bezpośrednio do
Serwer PostgreSQL:
$ psql -p 6543 -U jakiś szablon użytkownika1
5. Zarządzanie pgbouncer poprzez połączenie ze specjalną bazą danych administracji pgbouncer i
wydawanie pokazać Wsparcie; zacząć:
$ psql -p 6543 -U jakiś użytkownik pgbouncer
pgbouncer=# pokaż pomoc;
UWAGA: Użycie konsoli
SZCZEGÓŁ:
POKAŻ [POMOC|KONFIGURACJA|BAZY DANYCH|FDS|PULIE|KLIENCI|SERWERY|GNIAZDA|LISTY|WERSJA]
klawisz SET = arg
PRZEŁADOWAĆ
PAUSE
ZAWIESZAĆ
WZNOWIĆ
Zamknięcie
6. Jeśli dokonałeś zmian w pliku pgbouncer.ini, możesz go ponownie załadować za pomocą:
pgbouncer=# PRZEŁADUJ;
COMMAND LINE PRZEŁĄCZNIKI
-d Uruchom w tle. Bez tego proces będzie działał na pierwszym planie. Uwaga: nie
pracować w systemie Windows, pgbouncer trzeba tam działać jako usługa.
-R Wykonaj ponowne uruchomienie online. Oznacza to połączenie z uruchomionym procesem, załadowanie pliku
otwórz z niego gniazda, a następnie użyj ich. Jeśli nie ma aktywnego procesu, uruchom
normalnie. Uwaga: Działa tylko wtedy, gdy system operacyjny obsługuje gniazda Unix i unix_socket_katalog is
nie wyłączone w config. Nie działa na komputerach z systemem Windows. Nie działa z TLS
połączenia są odrzucane.
-u użytkownik
Przełącz się na danego użytkownika przy starcie.
-v Zwiększ gadatliwość. Może być używany wielokrotnie.
-q Bądź cicho - nie loguj się na standardowe wyjście. Uwaga: nie wpływa to tylko na szczegółowość rejestrowania
to stdout nie ma być używane. Do użytku w skryptach init.d.
-V Pokaż wersję.
-h Pokaż krótką pomoc.
--regservice
Win32: Zarejestruj pgbouncer, aby działał jako usługa Windows. The Nazwa serwisu config
wartość parametru jest używana jako nazwa do rejestracji.
--wyrejestruj usługę
Win32: Wyrejestruj usługę Windows.
ADMIN KONSOLA
Konsola jest dostępna po normalnym połączeniu z bazą danych pgbouncer:
$ psql -p 6543 pgbouncer
Tylko użytkownicy wymienieni w parametrach konfiguracyjnych użytkownicy_admin or statystyki_użytkowników są dozwolone do
zaloguj się do konsoli. (Z wyjątkiem kiedy tryb_autoryzacji=dowolny, to każdy użytkownik może wejść jako a
statystyki_użytkownika.)
Dodatkowo nazwa użytkownika pgbouncer może logować się bez hasła, jeśli login
jest dostarczany przez gniazdo Unix, a klient ma ten sam identyfikator użytkownika Unix, co uruchomiony proces.
Pokazać Polecenia
Kurs POKAZAĆ informacje wyjściowe poleceń. Każde polecenie zostało opisane poniżej.
POKAZAĆ STATYSTYKI;
Pokazuje statystyki.
baza danych
Statystyki są prezentowane według bazy danych.
suma_żądań
Łączna liczba żądań SQL zebranych przez pgbouncer.
suma_odebranych
Całkowity wolumen w bajtach ruchu sieciowego odebranego przez pgbouncer.
całkowita_wysłane
Całkowity wolumen w bajtach ruchu sieciowego wysłanego przez pgbouncer.
całkowity_czas_zapytania
Łączna liczba mikrosekund spędzonych przez pgbouncer przy aktywnym połączeniu z
PostgreSQL.
średnia_wymagana
Średnia liczba żądań na sekundę w ostatnim okresie statystyk.
średnia_zapis
Średnia liczba otrzymanych (od klientów) bajtów na sekundę.
średnia_wysłane
Średnia wysyłanych (do klientów) bajtów na sekundę.
średnie_zapytanie
Średni czas trwania zapytania w mikrosekundach.
POKAZAĆ SERWERY;
rodzaj S, dla serwera.
użytkownik Użytkownik pgbouncer używa do łączenia się z serwerem.
baza danych
Nazwa bazy danych.
były Stan połączenia z serwerem pgbouncer, jedno z aktywny, używany or bezczynny.
Addr Adres IP serwera PostgreSQL.
Port Port serwera PostgreSQL.
adres_lokalny
Adres rozpoczęcia połączenia na komputerze lokalnym.
port_lokalny
Port rozpoczęcia połączenia na komputerze lokalnym.
czas_połączenia
Kiedy połączenie zostało nawiązane.
czas oczekiwania
Kiedy wysłano ostatnie żądanie.
PTR Adres obiektu wewnętrznego dla tego połączenia. Używany jako unikalny identyfikator.
link Adres połączenia klienta, z którym sparowany jest serwer.
zdalny_pid
Numer pid procesu serwera zaplecza. W przypadku, gdy połączenie jest nawiązywane przez gniazdo unix i system operacyjny
obsługuje pobieranie informacji o identyfikatorze procesu, jest to identyfikator systemu operacyjnego. W przeciwnym razie jest wydobywany z
anuluj wysłanie serwera pakietów, który powinien być PID na wypadek, gdyby serwer to Postgres, ale tak jest
losowa liczba w przypadku serwera to inny PgBouncer.
POKAZAĆ KLIENCI;
rodzaj C, dla klienta.
użytkownik Użytkownik podłączony do klienta.
baza danych
Nazwa bazy danych.
były Stan połączenia klienta, jedno z aktywny, używany, czekanie or bezczynny.
Addr Adres IP klienta.
Port Klient portu jest podłączony.
adres_lokalny
Adres końcowy połączenia na komputerze lokalnym.
port_lokalny
Port końcowy połączenia na komputerze lokalnym.
czas_połączenia
Sygnatura czasowa czasu połączenia.
czas oczekiwania
Znacznik czasu ostatniego żądania klienta.
PTR Adres obiektu wewnętrznego dla tego połączenia. Używany jako unikalny identyfikator.
link Adres połączenia z serwerem, z którym sparowany jest klient.
zdalny_pid
Identyfikator procesu, jeśli klient łączy się przez gniazdo UNIX, a system operacyjny obsługuje jego pobieranie.
POKAZAĆ TOTALIZATOR PIŁKARSKI;
Dla każdej pary (bazy danych, użytkownika) tworzony jest nowy wpis puli.
baza danych
Nazwa bazy danych.
użytkownik Nazwa użytkownika.
cl_aktywny
Połączenia klienckie, które są połączone z połączeniem z serwerem i mogą przetwarzać zapytania.
cl_oczekiwanie
Połączenia klientów wysłały zapytania, ale nie otrzymały jeszcze połączenia z serwerem.
sv_aktywny
Połączenia serwera połączone z klientem.
sv_idle
Połączenia z serwerem, które nie są używane i są natychmiast dostępne dla zapytań klientów.
sv_używane
Połączenia z serwerem, które były bezczynne dłużej niż server_check_opóźnienie, więc potrzebują
zapytanie_serwera_check_query uruchomić na nim, zanim będzie można go użyć.
sv_testowane
Połączenia z serwerem, które są aktualnie uruchomione zapytanie_resetowania_serwera or
zapytanie_serwera_check_query.
sv_login
Trwa logowanie połączeń z serwerem.
maxczekaj
Jak długo czekał pierwszy (najstarszy) klient w kolejce, w sekundach. Jeśli to się zacznie
rośnie, to obecna pula serwerów nie obsługuje żądań wystarczająco szybko.
Przyczyną może być albo przeciążony serwer, albo po prostu za mały plik rozmiar basenu ustawienie.
tryb_puli
Używany tryb puli.
POKAZAĆ LISTY;
Pokaż następujące informacje wewnętrzne w kolumnach (nie w wierszach):
Bazy danych
Liczba baz danych.
Użytkownicy Liczba użytkowników.
totalizator piłkarski Liczba basenów.
wolni_klienci
Liczba darmowych klientów.
używani_klienci
Liczba używanych klientów.
klienci_logowania
Liczba klientów w Zaloguj Się stan.
darmowe_serwery
Liczba darmowych serwerów.
używane_serwery
Liczba używanych serwerów.
POKAZAĆ UŻYTKOWNICY;
Nazwa Nazwa użytkownika
tryb_puli
Zastąpienie trybu_puli przez użytkownika lub NULL, jeśli zamiast tego zostanie użyta wartość domyślna.
POKAZAĆ BAZY DANYCH;
Nazwa Nazwa skonfigurowanego wpisu bazy danych.
gospodarz Host pgbouncer łączy się z.
Port Port, z którym łączy się pgbouncer.
baza danych
Rzeczywista nazwa bazy danych, z którą łączy się pgbouncer.
wymuszenie_użytkownika
Gdy użytkownik jest częścią ciągu połączenia, połączenie między pgbouncer a
PostgreSQL jest wymuszany na danym użytkowniku, niezależnie od użytkownika klienta.
rozmiar basenu
Maksymalna liczba połączeń z serwerem.
tryb_puli
Zastąpienie trybu pool_mode bazy danych lub NULL, jeśli zamiast tego zostanie użyta wartość domyślna.
POKAZAĆ FDS;
Komenda wewnętrzna - pokazuje listę używanych fds z dołączonym do nich stanem wewnętrznym.
Gdy podłączony użytkownik ma nazwę użytkownika „pgbouncer”, łączy się przez gniazdo Unix i ma
ten sam identyfikator UID co działający proces, rzeczywiste fds są przesyłane przez połączenie. Ten
mechanizm służy do ponownego uruchomienia online. Uwaga: To nie działa na komputerach z systemem Windows.
To polecenie blokuje również wewnętrzną pętlę zdarzeń, więc nie powinno być używane, gdy PgBouncer jest
w użyciu.
fd Wartość liczbowa deskryptora pliku.
zadanie Jednym z bilard, klient or serwer.
użytkownik Użytkownik połączenia za pomocą FD.
baza danych
Baza danych połączenia za pomocą FD.
Addr adres IP połączenia z wykorzystaniem FD, UNIX jeśli używane jest gniazdo unix.
Port Port używany przez połączenie przy użyciu FD.
anulować Anuluj klucz dla tego połączenia.
link fd dla odpowiedniego serwera/klienta. NULL, jeśli jest bezczynny.
POKAZAĆ KONFIGURACJA;
Pokaż bieżące ustawienia konfiguracji, po jednym w wierszu, z następującymi kolumnami:
klucz Nazwa zmiennej konfiguracyjnej
wartość Wartość konfiguracji
zmienny
Bądź tak or Nie, pokazuje, czy zmienną można zmienić podczas pracy. Jeśli NieThe
zmienną można zmienić tylko w czasie rozruchu.
POKAZAĆ DNS_HOSTY;
Pokaż nazwy hostów w pamięci podręcznej DNS.
hosta
Nazwa hosta.
TTL Ile sekund pozostało do następnego wyszukiwania.
addres Lista adresów oddzielonych przecinkami.
POKAZAĆ DNS_STREFY
Pokaż strefy DNS w pamięci podręcznej.
nazwa strefy
Nazwa strefy.
seryjny Bieżący serial.
liczyć Nazwy hostów należące do tej strefy.
Przetwarzanie kontrolowania Polecenia
PAUSE [db];
PgBouncer próbuje rozłączyć się ze wszystkimi serwerami, najpierw czekając na zakończenie wszystkich zapytań.
Polecenie nie zostanie zwrócone przed zakończeniem wszystkich zapytań. Do wykorzystania w czasie
ponowne uruchomienie bazy danych.
Jeśli podano nazwę bazy danych, tylko ta baza danych zostanie wstrzymana.
WYŁĄCZYĆ baza danych;
Odrzuć wszystkie nowe połączenia klientów w danej bazie danych.
WŁĄCZYĆ baza danych;
Zezwalaj na nowe połączenia klientów po poprzednim WYŁĄCZYĆ dowództwo.
KILL baza danych;
Natychmiast zerwij wszystkie połączenia klienta i serwera z daną bazą danych.
WSTRZYMAĆ;
Wszystkie bufory gniazd są opróżniane, a PgBouncer przestaje nasłuchiwać w nich danych. The
polecenie nie zwróci, zanim wszystkie bufory nie będą puste. Do użycia w czasie PgBouncer
ponowne uruchomienie w Internecie.
WZNOWIĆ [db];
Wznów pracę z poprzedniej PAUSE or ZAWIESZAĆ dowództwo.
ZAMKNIĘCIE;
Proces PgBouncer zostanie zakończony.
PRZEŁADOWAĆ;
Proces PgBouncer przeładuje swój plik konfiguracyjny i zaktualizuje zmienne ustawienia.
Sygnały
ZGŁOSZENIE Załaduj ponownie konfigurację. To samo co wydanie polecenia PRZEŁADOWAĆ; na konsoli.
SIGINT Bezpieczne wyłączenie. Tak samo jak wydawanie PAUZA; i ZAMKNIĘCIE; na konsoli.
SIGTERM
Natychmiastowe wyłączenie. Tak samo jak wydawanie ZAMKNIĘCIE; na konsoli.
Libévent w panelu ustawień
Z dokumentów libevent:
Możliwe jest wyłączenie obsługi epoll, kqueue, devpoll, poll
lub wybierz ustawiając zmienną środowiskową EVENT_NOEPOLL,
EVENT_NOKQUEUE, EVENT_NODEVPOLL, EVENT_NOPOLL lub EVENT_NOSELECT,
odpowiednio.
Ustawiając zmienną środowiskową EVENT_SHOW_METHOD, libevent
wyświetla metodę powiadamiania jądra, której używa.
Korzystaj z pgbouncer online, korzystając z usług onworks.net