Pgpool-II
PostgreSQL用のコネクションプーラー兼ロードバランサー兼レプリケーション対応プロキシ。PgBouncerより多機能だが、重くて複雑。SELECTをレプリカへ、書き込みをプライマリへ自動で振り分けられる。
フェイルオーバー検知のウォッチドッグ、レプリカのオンラインリカバリ、メモリ内クエリキャッシュ、別々のノードに向けて結果を統合する並列クエリを備える。トレードオフは複雑さで、Pgpool-IIは可動部品が多く、障害時の挙動が読みにくくなる。よくある移行は、まず単純なPgBouncerで始め、負荷分散が必要になったらPgpoolへ上げる形だ。現代的な代替には、アプリケーション側のルーティング(多くのORMがリードレプリカに標準対応)や、HAProxyと自作スクリプトによるフェイルオーバーがある。