pgBouncer
pgBouncer, PostgreSQL veritabanlarına bağlantı havuzu (connection pool) ve yönetim aracı sağlayan bir yazılımdır. Bugün sizlere nedir , nasıl çalışır ve kurulumunu anlatacağım hadi başlayalım :)
pgBouncer Nedir?
pgBouncer, PostgreSQL veritabanlarına gelen bağlantı taleplerini daha etkili bir şekilde yönetmek, veritabanı sunucusunun kaynaklarını daha verimli kullanmak ve performansı artırmak amacıyla kullanılır. Özellikle yüksek trafikli PostgreSQL veritabanları için kullanılan bir araçtır. Aynı zamanda pgBouncer, veritabanı sunucusunun üzerindeki yükü hafifletir ve daha istikrarlı bir çalışma sağlar.
pgBouncer Nasıl Çalışır?
Bağlantı Havuzu Oluşturma: pgBouncer, PostgreSQL veritabanı sunucusuna gelen bağlantı taleplerini önceden oluşturduğu bir bağlantı havuzunda tutar. Bu, her bağlantı talebi geldiğinde yeni bir PostgreSQL bağlantısı oluşturmak yerine havuzdaki mevcut bağlantılardan birini kullanmasını sağlar.
Bağlantı Yönetimi: pgBouncer, bağlantıların açılması, kapanması ve yeniden kullanılması gibi bağlantı yönetimi görevlerini üstlenir. Bu, veritabanı sunucusunun kaynaklarını daha verimli kullanmasına yardımcı olur.
Kimlik Doğrulama ve Yetkilendirme: pgBouncer, bağlantı taleplerini doğrular ve gerektiğinde yetkilendirme işlemlerini gerçekleştirir. Bu sayede güvenli bir bağlantı yönetimi sağlar.
İstatistik ve İzleme: pgBouncer, bağlantılarla ilgili istatistikler ve izleme bilgileri toplar. Bu bilgiler, veritabanının performansını ve bağlantıların kullanımını izlemek için kullanılabilir.
Veritabanına İstek Gönderme: pgBouncer, kimlik doğrulama ve yetkilendirme işlemlerini geçen bağlantıları PostgreSQL veritabanı sunucusuna yönlendirir. Bu şekilde gerçek veritabanı işlemleri gerçekleştirilir.
pgBouncer Kurulumu
sudo yum install pgbouncer
test kullanıcısı ve db oluşturması ardından pgbouncer.ini dosyası düzenlemesi
create user admin password 'roottoor'
create database demodb owner admin
--------------------------------------------------------
vi /etc/pgbouncer/pgbouncer.ini
[database] // kümesi altına
demodb = host=hostadresiniz port=5432 dbname=demodb
[pgbouncer]
logfile = /var/log/pgbouncer/pgbouncer.log
pidfile = /var/log/pgbouncer/pgbouncer.pid
listedn_addr=*
listen_port = 6432
auth_type = trust
auth_file = /etc/pgbouncer/userlist.txt // oluşturduğunmuz kullanıcıyı yazacağzı
admin_user = admin
--------------------------------------------------------
vi /etc/pgbouncer/userlist.txt
"demodb" "roottoor"
"admin" "roottoor"
--------------------------------------------------------
chown -R pgbouncer:pgbouncer /var/log/pgbouncer/pgbouncer.log
chown -R pgbouncer:pgbouncer /var/log/pgbouncer/pgbouncer.pid
chown -R pgbouncer:pgbouncer /etc/pgbouncer
--------------------------------------------------------
pgbouncer -d /etc/pgbouncer/pgbouncer.ini //başlatma :)
tail -100f /var/log/pgbouncer/pgbouncer.log //görünütlemek için
--------------------------------------------------------
psql -U admin -p 6432 -h 130.61.212.61 demodb
SHOW STATS_TOTALS;
SHOW SERVERS;
SHOW POOLS;
RELOAD