Ito ang command na pgbouncer na maaaring patakbuhin sa OnWorks na libreng hosting provider gamit ang isa sa aming maramihang libreng online na workstation gaya ng Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator
PROGRAMA:
NAME
pgbouncer - lightweight connection pooler para sa PostgreSQL
SINOPSIS
pgbouncer [-d][-R][-v][-u user]
pgbouncer -V|-h
Sa mga Windows computer, ang mga opsyon ay:
pgbouncer.exe [-v][-u user]
pgbouncer.exe -V|-h
Mga karagdagang opsyon para sa pag-set up ng serbisyo ng Windows:
pgbouncer.exe --regservice
pgbouncer.exe --unregservice
DESCRIPTION
pgbouncer ay isang PostgreSQL connection pooler. Anumang target na application ay maaaring konektado sa
pgbouncer na parang ito ay isang PostgreSQL server, at pgbouncer ay lilikha ng koneksyon sa
aktwal na server, o muling gagamitin nito ang isa sa mga kasalukuyang koneksyon nito.
Ang layunin ng pgbouncer ay upang babaan ang epekto ng pagganap ng pagbubukas ng mga bagong koneksyon sa
PostgreSQL.
Upang hindi makompromiso ang mga semantika ng transaksyon para sa pagsasama-sama ng koneksyon, pgbouncer
sumusuporta sa ilang uri ng pooling kapag umiikot ang mga koneksyon:
sesyon pooling
Pinaka magalang na pamamaraan. Kapag kumonekta ang kliyente, may itatalagang koneksyon sa server
ito sa buong tagal na mananatiling konektado ang kliyente. Kapag nadiskonekta ang kliyente,
ang koneksyon ng server ay ibabalik sa pool. Ito ang default na paraan.
transaksiyon pooling
Ang isang koneksyon sa server ay itinalaga sa kliyente lamang sa panahon ng isang transaksyon. Kailan
Napansin ng PgBouncer na tapos na ang transaksyon, ibabalik ang koneksyon sa server
sa pool.
Pahayag pooling
Ang pinaka-agresibong pamamaraan. Ang koneksyon sa server ay ibabalik sa pool
kaagad pagkatapos makumpleto ang isang query. Hindi pinapayagan ang mga multi-statement na transaksyon
mode na ito bilang sila ay masira.
Ang interface ng pangangasiwa ng pgbouncer binubuo ng ilang bago SHOW magagamit ang mga utos
kapag nakakonekta sa isang espesyal na 'virtual' database pgbouncer.
Mabilis na pagsisimula
Pangunahing pag-setup at paggamit tulad ng sumusunod.
1. Gumawa ng pgbouncer.ini file. Mga detalye sa pgbouncer(5). Simpleng halimbawa:
[mga database]
template1 = host=127.0.0.1 port=5432 dbname=template1
[pgbouncer]
listen_port = 6543
listen_addr = 127.0.0.1
auth_type = md5
auth_file = users.txt
logfile = pgbouncer.log
pidfile = pgbouncer.pid
admin_users = someuser
2. Lumikha users.txt file na naglalaman ng mga user na pinapayagan sa:
"someuser" "same_password_as_in_server"
3. Ilunsad pgbouncer:
$ pgbouncer -d pgbouncer.ini
4. Ibigay ang iyong aplikasyon (o ang psql kliyente) kumonekta sa pgbouncer sa halip na direkta sa
PostgreSQL server:
$ psql -p 6543 -U someuser template1
5. Pamahalaan pgbouncer sa pamamagitan ng pagkonekta sa database ng espesyal na administrasyon pgbouncer at
issuing Ipakita tulong; Magsimula:
$ psql -p 6543 -U someuser pgbouncer
pgbouncer=# ipakita ang tulong;
PAUNAWA: Paggamit ng console
DETALYO:
IPAKITA [HELP|CONFIG|DATABASES|FDS|POOLS|CLIENTS|SERVERS|SOCKET|LISTS|VERSION]
SET key = arg
RELOAD
PAUSE
SUSPEND
SUMMARY
Pagpipinid
6. Kung gumawa ka ng mga pagbabago sa pgbouncer.ini file, maaari mo itong i-reload gamit ang:
pgbouncer=# RELOAD;
COMMAND LINE MGA PALITAN
-d Tumakbo sa background. Kung wala ito ang proseso ay tatakbo sa harapan. Tandaan: Hindi
gumana sa Windows, pgbouncer kailangang tumakbo bilang serbisyo doon.
-R Magsagawa ng online restart. Nangangahulugan iyon ng pagkonekta sa tumatakbong proseso, paglo-load ng
buksan ang mga socket mula dito, at pagkatapos ay gamitin ang mga ito. Kung walang aktibong proseso, mag-boot
karaniwan. Tandaan: Gumagana lamang kung sinusuportahan ng OS ang mga Unix socket at ang unix_socket_dir is
hindi disabled sa config. Hindi gumagana sa mga makina ng Windows. Hindi gumagana sa TLS
mga koneksyon, sila ay bumaba.
-u gumagamit
Lumipat sa ibinigay na user sa startup.
-v Dagdagan ang verbosity. Maaaring gamitin ng maraming beses.
-q Manahimik - huwag mag-log sa stdout. Tandaan na hindi ito makakaapekto sa logging verbosity, lamang
ang stdout na iyon ay hindi dapat gamitin. Para sa paggamit sa init.d script.
-V Ipakita ang bersyon.
-h Magpakita ng maikling tulong.
--regservice
Win32: Irehistro ang pgbouncer upang tumakbo bilang serbisyo ng Windows. Ang service_name config
ang halaga ng parameter ay ginagamit bilang pangalan upang magparehistro sa ilalim.
--unregservice
Win32: I-unregister ang serbisyo ng Windows.
ADMIN CONSOLE
Ang console ay magagamit sa pamamagitan ng pagkonekta bilang normal sa database pgbouncer:
$ psql -p 6543 pgbouncer
Mga user lang ang nakalista sa mga parameter ng configuration admin_users or stats_users ay pinahihintulutan na
mag-login sa console. (Maliban kapag auth_mode=anuman, pagkatapos ay pinapayagan ang sinumang user bilang a
stats_user.)
Bilang karagdagan, ang username pgbouncer ay pinapayagang mag-log in nang walang password, kung ang pag-login
dumarating sa pamamagitan ng Unix socket at ang kliyente ay may parehong Unix user uid bilang tumatakbong proseso.
Palabasin sa bilang na utos
Ang SHOW nag-uutos ng impormasyon sa output. Ang bawat utos ay inilarawan sa ibaba.
SHOW STATS;
Nagpapakita ng mga istatistika.
database
Ang mga istatistika ay ipinakita sa bawat database.
kabuuang_mga_hiling
Kabuuang bilang ng mga kahilingan sa SQL na pinagsama-sama ng pgbouncer.
kabuuang_natanggap
Kabuuang dami sa byte ng trapiko sa network na natanggap ng pgbouncer.
kabuuang_ipinadala
Kabuuang dami sa byte ng trapiko sa network na ipinadala ni pgbouncer.
kabuuang_query_time
Kabuuang bilang ng mga microsecond na ginugol ng pgbouncer kapag aktibong konektado sa
PostgreSQL.
avg_req
Average na mga kahilingan bawat segundo sa huling yugto ng istatistika.
avg_recv
Average na natanggap (mula sa mga kliyente) byte bawat segundo.
avg_sent
Average na ipinadala (sa mga kliyente) byte bawat segundo.
avg_query
Average na tagal ng query sa microseconds.
SHOW MGA SERVER;
uri S, para sa server.
gumagamit username pgbouncer ginagamit upang kumonekta sa server.
database
Pangalan ng database.
ay Estado ng koneksyon ng pgbouncer server, isa sa aktibo, ginamit or idle.
addr IP address ng PostgreSQL server.
port Port ng PostgreSQL server.
local_addr
Address ng pagsisimula ng koneksyon sa lokal na makina.
local_port
Start port ng koneksyon sa lokal na makina.
connect_time
Kapag ginawa ang koneksyon.
request_time
Kailan inilabas ang huling kahilingan.
ptr Address ng panloob na bagay para sa koneksyon na ito. Ginamit bilang natatanging ID.
link Address ng koneksyon ng kliyente kung saan ipinares ang server.
remote_pid
Pid ng proseso ng backend server. Kung sakaling ang koneksyon ay ginawa sa unix socket at OS
Sinusuportahan ang pagkuha ng impormasyon ng ID ng proseso, ito ay OS pid. Kung hindi, ito ay nakuha mula sa
kanselahin ang packet server na ipinadala, na dapat ay PID kung sakaling ang server ay Postgres, ngunit ito ay
isang random na numero kung sakaling i-serve ito ng isa pang PgBouncer.
SHOW MGA KLIENTE;
uri C, para sa kliyente.
gumagamit User na konektado sa kliyente.
database
Pangalan ng database.
ay Estado ng koneksyon ng kliyente, isa sa aktibo, ginamit, naghihintay or idle.
addr IP address ng kliyente.
port Nakakonekta ang port client.
local_addr
Address ng pagtatapos ng koneksyon sa lokal na makina.
local_port
End port ng koneksyon sa lokal na makina.
connect_time
Timestamp ng oras ng pagkonekta.
request_time
Timestamp ng pinakabagong kahilingan ng kliyente.
ptr Address ng panloob na bagay para sa koneksyon na ito. Ginamit bilang natatanging ID.
link Address ng koneksyon sa server kung saan ipinares ang kliyente.
remote_pid
Process ID, kung sakaling kumonekta ang kliyente sa UNIX socket at sinusuportahan ng OS ang pagkuha nito.
SHOW POOLS;
Isang bagong pool entry ang ginawa para sa bawat pares ng (database, user).
database
Pangalan ng database.
gumagamit User name.
cl_active
Mga koneksyon ng kliyente na naka-link sa koneksyon sa server at maaaring magproseso ng mga query.
cl_waiting
Ang mga koneksyon ng kliyente ay nagpadala ng mga query ngunit hindi pa nakakakuha ng koneksyon sa server.
sv_active
Mga koneksyon sa server na naka-link sa kliyente.
sv_idle
Mga koneksyon sa server na hindi nagamit at agad na magagamit para sa mga query ng kliyente.
sv_used
Mga koneksyon sa server na naging idle nang higit sa server_check_delay, kaya kailangan nila
server_check_query upang patakbuhin ito bago ito magamit.
sv_tested
Mga koneksyon sa server na kasalukuyang tumatakbo alinman server_reset_query or
server_check_query.
sv_login
Ang mga koneksyon sa server ay kasalukuyang nasa proseso ng pag-log in.
maxwait
Gaano katagal naghintay ang unang (pinakamatandang) kliyente sa pila, sa ilang segundo. Kung magsisimula ito
tumataas, kung gayon ang kasalukuyang pool ng mga server ay hindi humahawak ng mga kahilingan nang mabilis.
Ang dahilan ay maaaring overloaded server o masyadong maliit ng a pool_size setting na ito.
pool_mode
Ginagamit ang pooling mode.
SHOW MGA LISTAHAN;
Ipakita ang sumusunod na panloob na impormasyon, sa mga hanay (hindi mga hilera):
Mga Database
Bilang ng mga database.
gumagamit Bilang ng mga gumagamit.
pool Bilang ng mga pool.
free_clients
Bilang ng mga libreng kliyente.
ginamit_kliyente
Bilang ng mga ginamit na kliyente.
login_clients
Bilang ng mga kliyente sa login estado.
free_servers
Bilang ng mga libreng server.
used_servers
Bilang ng mga ginamit na server.
SHOW MGA USER;
pangalan Ang user name
pool_mode
I-override ng user ang pool_mode, o NULL kung ang default ang gagamitin sa halip.
SHOW MGA DATABASE;
pangalan Pangalan ng naka-configure na entry sa database.
marami Kumokonekta ang host pgbouncer sa.
port Kumokonekta sa port pgbouncer.
database
Actual database name pgbouncer kumokonekta sa.
force_user
Kapag ang user ay bahagi ng connection string, ang koneksyon sa pagitan ng pgbouncer at
Pinipilit ang PostgreSQL sa ibinigay na user, anuman ang user ng kliyente.
pool_size
Pinakamataas na bilang ng mga koneksyon sa server.
pool_mode
I-override ng database ang pool_mode, o NULL kung ang default ang gagamitin sa halip.
SHOW FDS;
Panloob na utos - nagpapakita ng listahan ng mga fd na ginagamit kasama ng panloob na estado na nakalakip sa kanila.
Kapag ang nakakonektang user ay may username na "pgbouncer", kumokonekta sa pamamagitan ng Unix socket at mayroon
parehong UID bilang proseso ng pagpapatakbo, ang aktwal na mga fd ay ipinapasa sa koneksyon. Ito
mekanismo ay ginagamit upang gawin ang isang online restart. Tandaan: Hindi ito gumagana sa mga Windows machine.
Hinaharangan din ng command na ito ang panloob na loop ng kaganapan, kaya hindi ito dapat gamitin habang ginagamit ang PgBouncer
sa paggamit.
fd Numeric na halaga ng deskriptor ng file.
gawain Isa ng pooler, kliente or server.
gumagamit Gumagamit ng koneksyon gamit ang FD.
database
Database ng koneksyon gamit ang FD.
addr IP address ng koneksyon gamit ang FD, Unix kung ang isang unix socket ay ginagamit.
port Port na ginagamit ng koneksyon gamit ang FD.
kanselahin Cancel key para sa koneksyong ito.
link fd para sa kaukulang server/kliyente. NULL kung idle.
SHOW CONFIG;
Ipakita ang kasalukuyang mga setting ng configuration, isa bawat hilera, na may mga sumusunod na column:
susi Pangalan ng variable ng configuration
halaga Halaga ng configuration
pabagu-bago
Alinman oo or hindi, ay nagpapakita kung ang variable ay maaaring baguhin habang tumatakbo. Kung hindi, ang
ang variable ay maaaring baguhin lamang ang oras ng pag-boot.
SHOW DNS_HOSTS;
Ipakita ang mga hostname sa DNS cache.
hostname
Pangalan ng host.
ttl Ilang segundo bago ang susunod na paghahanap.
addrs Listahan ng mga address na pinaghihiwalay ng kuwit.
SHOW DNS_ZONES
Ipakita ang mga DNS zone sa cache.
zonename
Pangalan ng zone.
serye Kasalukuyang serial.
bilangin Mga hostname na kabilang sa zone na ito.
paraan pagkontrol utos
PAUSE [db];
Sinusubukan ng PgBouncer na idiskonekta mula sa lahat ng mga server, naghihintay muna para makumpleto ang lahat ng mga query.
Hindi babalik ang command bago matapos ang lahat ng query. Upang magamit sa panahon ng
pag-restart ng database.
Kung ibinigay ang pangalan ng database, ang database lang na iyon ang mapo-pause.
NABABALIK db;
Tanggihan ang lahat ng bagong koneksyon ng kliyente sa ibinigay na database.
NABUTI db;
Payagan ang mga bagong koneksyon ng kliyente pagkatapos ng nakaraan NABABALIK utos.
Napatay db;
Agad na i-drop ang lahat ng koneksyon ng kliyente at server sa ibinigay na database.
SUSPENDIDO;
Na-flush ang lahat ng socket buffer at huminto ang PgBouncer sa pakikinig para sa data sa mga ito. Ang
hindi babalik ang command bago mawalan ng laman ang lahat ng buffer. Para magamit sa panahon ng PgBouncer
online na pag-reboot.
SUMMARY [db];
Ipagpatuloy ang trabaho mula sa nakaraan PAUSE or SUSPEND utos.
PAGSASARA;
Ang proseso ng PgBouncer ay lalabas.
RELOAD;
Ire-reload ng proseso ng PgBouncer ang configuration file nito at ia-update ang mga nababagong setting.
Signal
FOLLOW UP I-reload ang config. Pareho sa pagbibigay ng utos RELOAD; sa console.
TANDAAN Ligtas na pagsara. Pareho sa pag-isyu PAUSE; at PAGSASARA; sa console.
TARGET TERM
Agad na pagsara. Pareho sa pag-isyu PAGSASARA; sa console.
Libevent mga setting
Mula sa libevent docs:
Posibleng i-disable ang suporta para sa epoll, kqueue, devpoll, poll
o pumili sa pamamagitan ng pagtatakda ng environment variable na EVENT_NOEPOLL,
EVENT_NOKQUEUE, EVENT_NODEVPOLL, EVENT_NOPOLL o EVENT_NOSELECT,
ayon sa pagkakabanggit.
Sa pamamagitan ng pagtatakda ng environment variable na EVENT_SHOW_METHOD, libevent
ipinapakita ang paraan ng abiso ng kernel na ginagamit nito.
Gamitin ang pgbouncer online gamit ang mga serbisyo ng onworks.net