You are looking at the documentation of a prior release. To read the documentation of the latest release, please visit here.

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 one or more PostgreSQL databases 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

FeaturesAvailability
Multiple PgBouncer Versions
Customizable Pooling Configuration
Custom docker images
Builtin Prometheus Discovery
Using CoreOS Prometheus Operator

Supported PgBouncer Versions

KubeDB Version ↓1.71.7.11.7.21.8.11.9.01.10.01.11.0
v0.13.0-rc.1

Supported PgBouncerVersion CRD

PgBouncerVersion crd is used to fetch a specific iteration of PgBouncer image for a given PgBouncer Version. For example, there can be two PgBouncerVersion crd (1.7, and 1.7-v2 ) specified for a single PgBouncer release version 1.7 and images specified in those crds will differ in terms of features, and improvements.

Here, ✓ means supported and ✗ means unsupported.

NAME ↓VERSION ↓KubeDB: v0.13.0-rc.0KubeDB: v0.13.0-rc.1
1.71.7
1.7.11.7.1
1.7.21.7.2
1.8.11.8.1
1.9.01.9.0
1.10.01.10.0
1.11.01.11.0

External tools dependency

ToolVersion
pgbouncer_exporter0.0.3

User Guide