PgBouncer

Allikas: Kuutõrvaja
Redaktsioon seisuga 13. aprill 2010, kell 15:57 kasutajalt Imre (arutelu | kaastöö) (Paigaldamine)

Sissejuhatus

PgBouncer https://developer.skype.com/SkypeGarage/DbProjects/PgBouncer on andmebaasiühenduste pooler.

Tööpõhimõte

TODO

Ettevalmistused

PgBounceri kasutamine eeldab libevent teegi olemasolu süsteemis. Otseselt on vaja sellega tegeleda, kui otsustatakse PgBouncer süsteemi paigaldada lähtetekstist.

Paigaldamine

Debian Squeeze

Tarkvara paigaldamiseks Debian Squeeze keskkonnas sobib öelda

# apt-get install pgbouncer

Paigaldatakse muu seas sellised failid

/usr/sbin/pgbouncer
/etc/default/pgbouncer
/etc/pgbouncer/pgbouncer.ini
/etc/pgbouncer/userlist.txt
/etc/init.d/pgbouncer

Debian Lenny

Tarkvara tuleb Debian Lenny keskkonnas kompileerida lähtetekstis, kusjuures süsteemis peab olema muu nö kompileerimiseks vajaliku hulgas ka pakett libevent-dev

# apt-get install libevent-dev
# ./configure --prefix=/usr/local/pgbouncer
# make
# make install

Seadistamine ja käivitamine

Tarvara tööd kontrollivad seadistusfailid

  • /etc/pgbouncer/pgbouncer.ini, mille sisu võiks olla nt
# egrep -v "^$|^;" /etc/pgbouncer/pgbouncer.ini
[databases]
test = host=127.0.0.1 dbname=test

[pgbouncer]
logfile = /var/log/postgresql/pgbouncer.log
pidfile = /var/run/postgresql/pgbouncer.pid
listen_addr = *
listen_port = 6432
unix_socket_dir = /var/run/postgresql
auth_type = trust
auth_file = /etc/pgbouncer/userlist.txt
admin_users = postgres
stats_users = postgres
pool_mode = session
server_reset_query = 
server_check_query = select 1
server_check_delay = 10
max_client_conn = 100
default_pool_size = 20
log_connections = 1
log_disconnections = 1
log_pooler_errors = 1
  • /etc/pgbouncer/userlist.txt sisaldab nt
"postgres" "parool"

Käivitamiseks peab olema failis /etc/default/pgbouncer rida

START=1

ja tuleb öelda

# /etc/init.d/pgbouncer start

Töötab üks protsess

$ ps aux | grep pgbouncer | grep -v grep
postgres  8730  0.0  0.2  17108  1016 ? S 11:46   0:00 /usr/sbin/pgbouncer -d /etc/pgbouncer/pgbouncer.ini

Kasutamine

PgBouceri kasutamiseks tuleb ühenduda PgBounceri porti, nt 192.168.10.205:6432 ja kasutada seda nagu tavalist andmebaasi.

Haldamine

PgBounceri haldamiseks sobib kasutada andmebaasi pgbouncer, nt

$ psql -h 127.0.0.1 -p 6432 -U postgres pgbouncer -c 'show databases;'
   name    |   host    | port | database  | force_user | pool_size | reserve_pool 
-----------+-----------+------+-----------+------------+-----------+--------------
 pgbouncer |           | 6432 | pgbouncer | pgbouncer  |         2 |            0
 test      | 127.0.0.1 | 5432 | test      |            |        20 |            0

(2 rows)

Kasulikud lisamaterjalid