New to KubeDB? Please start here.
Overview
PgBouncer is an open-source, lightweight, single-binary connection-pooling middleware for PostgreSQL. PgBouncer maintains a pool of connections for each locally stored user-database pair. It is typically configured to hand out one of these connections to a new incoming client connection, and return it back in to the pool when the client disconnects. PgBouncer can manage only one PostgreSQL database on possibly different servers and serve clients over TCP and Unix domain sockets. For a more hands-on experience, see this brief tutorial on how to create a PgBouncer for PostgreSQL database.
KubeDB operator now comes bundled with PgBouncer crd to handle connection pooling. With connection pooling, clients connect to a proxy server which maintains a pool of direct connections to other real PostgreSQL servers. PgBouncer crd can handle multiple local or remote Postgres database connections across multiple users using PgBouncer’s connection pooling mechanism.
PgBouncer Features
Features | Availability |
---|---|
Multiple PgBouncer Versions | ✓ |
Custom Configuration | ✓ |
Externally manageable Auth Secret | ✓ |
Reconfigurable Health Checker | ✓ |
Integrate with externally managed PostgreSQL | ✓ |
Sync Postgres Users to PgBouncer | ✓ |
Custom docker images | ✓ |
TLS: Add ( Cert Manager) | ✓ |
Monitoring with Prometheus & Grafana | ✓ |
Builtin Prometheus Discovery | ✓ |
Using Prometheus operator | ✓ |
Alert Dashboard | ✓ |
Grafana Dashboard | ✓ |
User Guide
- Quickstart PgBouncer with KubeDB Operator.
- Monitor your PgBouncer with KubeDB using
out-of-the-box
builtin-Prometheus. - Monitor your PgBouncer with KubeDB using
out-of-the-box
Prometheus operator. - Use private Docker registry to deploy PgBouncer with KubeDB.
- Detail concepts of PgBouncer object.
- Want to hack on KubeDB? Check our contribution guidelines.