Skip to main content

Your submission was sent successfully! Close

Thank you for signing up for our newsletter!
In these regular emails you will find the latest updates from Canonical and upcoming events where you can meet our team.Close

Thank you for contacting us. A member of our team will be in touch shortly. Close

How to enable plugins/extensions

Note: This feature is currently only available in the channel 14/edge (revision 103+) and will be released to the channel 14/stable soon.

This guide shows how to enable a plugin/extension for an application charm that you want to integrate to Charmed PostgreSQL.

Prerequisites

Enable plugin/extension

Enable the plugin/extension by setting True as the value of its respective config option, like in the following example:

juju config postgresql-k8s plugin_<plugin name>_enable=True

Integrate your application

Integrate (formerly known as “relate” in juju v.2.9) your application charm with the PostgreSQL charm:

juju integrate <application charm> postgresql-k8s 

If your application charm requests extensions through db or db-admin relation data, but the extension is not enabled yet, you’ll see that the PostgreSQL application goes into a blocked state with the following message:

postgresql-k8s/0*  blocked   idle   10.1.123.30            extensions requested through relation

In the Juju debug logs we can see the list of extensions that need to be enabled:

unit-postgresql-k8s-0: 18:04:51 ERROR unit.postgresql-k8s/0.juju-log db:5: ERROR - `extensions` (pg_trgm, unaccent) cannot be requested through relations - Please enable extensions through `juju config` and add the relation again.

After enabling the needed extensions through the config options, the charm will unblock. If you have removed the relation, you can add it back again.

If the application charm uses the new postgresql_client interface, it can use the is_postgresql_plugin_enabled helper method from the data interfaces library to check whether the plugin/extension is already enabled in the database.

Note: Not all PostgreSQL extensions are available. The list of supported extensions is available at Supported plugins/extensions.

Last updated 9 months ago. Help improve this document in the forum.