Charmed PostgreSQL VM
- Canonical
- Databases
Channel | Revision | Published | Runs on |
---|---|---|---|
latest/stable | 345 | 09 Nov 2023 | |
latest/stable | 239 | 09 Feb 2022 | |
latest/stable | 226 | 01 Apr 2021 | |
14/stable | 468 | 11 Sep 2024 | |
14/stable | 467 | 11 Sep 2024 | |
14/candidate | 468 | 02 Sep 2024 | |
14/candidate | 467 | 02 Sep 2024 | |
14/beta | 516 | 19 Nov 2024 | |
14/beta | 515 | 19 Nov 2024 | |
14/edge | 518 | Yesterday | |
14/edge | 517 | Yesterday |
juju deploy postgresql --channel 14/stable
Deploy universal operators easily with Juju, the Universal Operator Lifecycle Manager.
Platform:
Integrate with a client application
This guide will show you how to integrate a client application with a cross-regional async setup using an example PostgreSQL deployment with two servers: one in Rome and one in Lisbon.
Prerequisites
- Juju
v.3.4.2+
- Make sure your machine(s) fulfill the system requirements
- See supported target/source model relationships.
- A cross-regional async replication setup
Summary
Configure database endpoints
To make your database available to a client application, you must first offer and consume database endpoints.
Offer database endpoints
Offer the database
endpoint on each of the postgresql
applications.
juju switch rome
juju offer db1:database db1database
juju switch lisbon
juju offer db2:database db2database
Consume endpoints on client app
It is good practice to use a separate model for the client application rather than using one of the database host models.
juju add-model app
juju switch app
juju consume rome.db1database
juju consume lisbon.db2database
Internal client
If the client application is another charm, deploy them and connect them with juju integrate
.
juju switch app
juju deploy postgresql-test-app
juju deploy pgbouncer --channel 1/stable
juju integrate postgresql-test-app:database pgbouncer
juju integrate pgbouncer db1database
External client
If the client application is external, they must be integrated via the data-integrator
charm.
juju switch app
juju deploy data-integrator --config database-name=mydatabase
juju deploy pgbouncer pgbouncer-external --channel 1/stable
juju relate data-integrator pgbouncer-external
juju relate pgbouncer-external db1database
juju run data-integrator/leader get-credentials