Charmed PostgreSQL VM
|09 Nov 2023
|21 Feb 2024
|31 Jan 2024
|21 Feb 2024
juju deploy postgresql --channel 14/stable
There are two types of charms stored under the same charm name
- Reactive charm in the channel
- Ops-based charm in the channel
The legacy charm provided endpoints
db-admin (for the interface
pgsql). The modern charm provides old endpoints as well + new endpoint
database (for the interface
postgresql_client). Read more details about the available endpoints/interfaces.
Note: Please choose one endpoint to use. No need to relate all of them simultaneously!
The default track has been switched from the
14. It is to ensure all new deployments use a modern codebase. We strongly advise against using the latest track due to its implicit nature. In doing so, a future charm upgrade may result in a PostgreSQL version incompatible with an integrated application. Track 14 guarantees PostgreSQL 14 deployment only. The track
latest will be closed after all applications migrated from Reactive to Ops-based charm.
The “modern” charm provides temporary support for the legacy interfaces:
- quick try: relate the current application with new charm using endpoint
db(set the channel to
14/stable). No extra changes necessary:
- proper migration: migrate the application to the new interface “postgresql_client”. The application will connect PostgreSQL using “data_interfaces” library from “data-platform-libs” via endpoint
Warning: NO in-place upgrades possible! Reactive charm cannot be upgraded to Operator-framework-based one. To move DB data, the second/modern DB application must be launched nearby and data should be copied from “legacy” application to the “modern” one. Canonical Data Platform team is preparing copy&paste guide right now. Please contact us if you need migration instructions.
trust option must be enabled if Role Based Access Control (RBAC) is in use on your Kubernetes.
Deploy the charm using the channel
Note: remove Charm store prefix
cs: from the bundle. Otherwise the modern charm will be chosen by Juju (due to the default track pointing to
14/stable and not
latest/stable). The common error message is:
cannot deploy application "postgresql": unknown option "...".
The legacy charm config options were not moved to the modern charm due to no need. The modern charm applies the best possible configuration automatically. Feel free to contact us about the DB tuning/config options.
The legacy charm provided plugins/extensions enabling through the relation (interface
pgsql). It is NOT supported by the modern charm (neither
postgresql_client interfaces). Please enable the necessary extensions using appropriate
plugin_*_enable config option of the modern charm. After enabling the modern charm will provide plugins support for both
In the legacy charm, the user could request roles by setting the
roles field to a comma separated list of desired roles. It is NOT supported by the modern charm implementation of the legacy
pgsql interface. The same functionality is provided via the modern
postgresql_client using “extra-user-roles”. Please check how to migrate on the new interface.
At the moment, the modern charms support PostgreSQL 14 (based on Jammy/22.04 series) only. Please contact us if you need different versions/series.
Currently, the charm supports architecture
amd64 only. See the technical details in “Supported architectures”.
Do you have questions? Contact us!