pgbouncer

PgBouncer

Channel Revision Published Runs on
latest/stable 5 17 Jan 2022
Ubuntu 20.04 Ubuntu 18.04 Ubuntu 16.04
1/stable 642 04 Feb 2025
Ubuntu 22.04 Ubuntu 20.04
1/stable 641 04 Feb 2025
Ubuntu 22.04 Ubuntu 20.04
1/stable 640 04 Feb 2025
Ubuntu 22.04 Ubuntu 20.04
1/stable 639 04 Feb 2025
Ubuntu 22.04 Ubuntu 20.04
1/candidate 642 29 Jan 2025
Ubuntu 22.04 Ubuntu 20.04
1/candidate 641 29 Jan 2025
Ubuntu 22.04 Ubuntu 20.04
1/candidate 640 29 Jan 2025
Ubuntu 22.04 Ubuntu 20.04
1/candidate 639 29 Jan 2025
Ubuntu 22.04 Ubuntu 20.04
1/beta 642 29 Jan 2025
Ubuntu 22.04 Ubuntu 20.04
1/beta 641 29 Jan 2025
Ubuntu 22.04 Ubuntu 20.04
1/beta 640 29 Jan 2025
Ubuntu 22.04 Ubuntu 20.04
1/beta 639 29 Jan 2025
Ubuntu 22.04 Ubuntu 20.04
1/edge 678 24 Feb 2025
Ubuntu 22.04 Ubuntu 20.04
1/edge 677 24 Feb 2025
Ubuntu 22.04 Ubuntu 20.04
1/edge 676 24 Feb 2025
Ubuntu 22.04 Ubuntu 20.04
1/edge 675 24 Feb 2025
Ubuntu 22.04 Ubuntu 20.04
juju deploy pgbouncer --channel 1/stable
Show information

Platform:

Ubuntu
22.04 20.04 18.04 16.04

Environment Setup

This is part of the PgBouncer Tutorial. Please refer to this page for more information and the overview of the content.

Minimum requirements

Before we start, make sure your machine meets the following requirements.

Multipass environment

Multipass is a quick and easy way to launch virtual machines running Ubuntu. It uses “cloud-init” standard to install and configure all the necessary parts automatically.

Let’s install Multipass from Snap and launch a new VM using “charm-dev” cloud-init config:

sudo snap install multipass && \
multipass launch --cpus 4 --memory 8G --disk 30G --name my-vm charm-dev # tune CPU/RAM/HDD accordingly to your needs 

Note: all ‘multipass launch’ params are described here.

Multipass list of commands is short and self-explanatory, e.g. show all running VMs:

multipass list

As soon as new VM started, enter inside using:

multipass shell my-vm

Note: if at any point you’d like to leave Multipass VM, enter Ctrl+d or type exit.

All the parts have been pre-installed inside VM already, like LXD and Juju (the files ‘/var/log/cloud-init.log’ and ‘/var/log/cloud-init-output.log’ contain all low-level installation details). Let’s bootstrap Juju to use local LXD. We will call it “overlord”, but you can give it any name you’d like:

juju bootstrap localhost overlord

The controller can work with different models; models host applications such as PgBouncer. Set up a specific model for Charmed PostgreSQL+PgBouncer named ‘tutorial’:

juju add-model tutorial

You can now view the model you created above by entering the command juju status into the command line. You should see the following:

Model    Controller  Cloud/Region         Version  SLA          Timestamp
tutorial overlord    localhost/localhost  3.1.6    unsupported  23:20:53+01:00

Model "admin/tutorial" is empty.