PgBouncer ile bakımda bağlantıları beklet (PAUSE/RESUME) ve yapılandırmayı yeniden yükle (RELOAD)
PostgreSQLPgBouncerKomut
psql -h 127.0.0.1 -p 6432 -U pgbouncer -d pgbouncer -X
RELOAD; -- pgbouncer.ini ve auth_file değişikliklerini bağlantıları koparmadan uygula
PAUSE <db>; -- devam eden sorgu/transaction'lar bitince sunucu bağlantılarını kapatır; yeni istekler bekletilir
-- ... bakım: switchover, PostgreSQL restart vb. ...
RESUME <db>;
-- [databases] içinde host değiştirildiyse (RELOAD sonrası) sunucu bağlantılarını kademeli yenile:
RECONNECT <db>;Ne yapar?
PAUSE, istemci bağlantılarını koparmadan PostgreSQL tarafındaki bağlantıları boşaltır ve yeni sorguları kuyrukta tutar; RESUME ile kuyruk akmaya devam eder. Böylece kısa bir primary restart veya switchover uygulamaya hata yerine kısa bir gecikme olarak yansır.
Ne zaman kullanılır?
Kısa bakım pencerelerinde (switchover, minor sürüm restart'ı, parametre restart'ı) ve pgbouncer.ini/userlist değişikliklerini uygularken.
Dikkat
PAUSE, tüm aktif transaction'lar bitene kadar döner; uzun süren bir sorgu PAUSE'u bekletir (gerekirse o oturumu PostgreSQL'de sonlandır). Bekleyen istemciler query_wait_timeout (varsayılan 120 sn) dolunca hata alır; bakımı bu sürenin içinde bitir. PAUSE'dan sonra RESUME'u unutmak tam kesintidir. Bazı ayarlar (listen_addr, listen_port vb.) RELOAD ile değişmez, restart gerekir.