Charmed PostgreSQL K8s

Channel Revision Published Runs on
latest/stable 20 20 Sep 2022
Ubuntu 20.04
14/stable 193 13 Mar 2024
Ubuntu 22.04
14/candidate 193 31 Jan 2024
Ubuntu 22.04
14/beta 211 13 Mar 2024
Ubuntu 22.04
14/edge 237 16 Apr 2024
Ubuntu 22.04
juju deploy postgresql-k8s --channel 14/stable
Show information

Platform:

Migrate database data using ‘backup/restore’

This is a guide for migrating data from modern charms. To migrate legacy charms data, refer to the guide Migrate data via pg_dump.

This Charmed PostgreSQL K8s operator is able to restore its own backups stored on S3-compatible storage. The same restore approach is applicable to restore backups made by a different installation of Charmed PostgreSQL, or even another PostgreSQL charm. (The backups have to be created manually using pgBackRest!)

Warning: The Canonical Data Team describes here the general approach and does NOT support nor guarantee the restoration results.

Always test a migration in a safe environment before performing it in production!

Prerequisites

  • Check your application compatibility with Charmed PostgreSQL K8s before migrating production data from legacy charm
  • Make sure PostgreSQL versions are identical before the migration

Migrate database data

Below is the general approach to the migration (see warning above!):

  1. Retrieve root/admin-level credentials from the legacy charm.

    See examples here.

  2. Install pgBackRest inside the old charm OR nearby.

    Ensure the version is compatible with pgBackRest in the new Charmed PostgreSQL K8s revision you are going to deploy! See examples here.

    Note: You can use charmed-postgresql SNAP/ROCK directly. More details here.

  3. Configure storage for database backup (local or remote, S3-based is recommended).

  4. Create a first full logical backup during the off-peak

    See an example of backup command here.

  5. Migrate this backup to the Charmed PostgreSQL installation in your test environment.

  6. Perform all the necessary tests to make sure your application accepted the new database

  7. Schedule and perform the final production migration, re-using the last steps above.


Do you have questions? Contact us if you are interested in such a data migration!