Akonadi/Postgres update

    From KDE UserBase Wiki

    This guide describes the steps to follow in order to upgrade your Akonadi database when using the PostgreSQL backend.

    In order to use this guide, you need to have both the old and new PostgreSQL versions installed. The applications paths mentioned below are valid for openSUSE users. You may have to adapt these paths for your distribution.

    The initdb and pg_upgrade tools are required. Make sure these applications are available before following this guide. In openSUSE pg_upgrade is part of the postgresql-contrib package.

    Stop the Akonadi services

    akonadictl stop

    (wait until all the akonadi processes are gone)

    Create an extra backup

    cp -R $HOME/.local/share/akonadi/db_data $HOME/.local/share/akonadi/db_data_10

    Rename the Akonadi database directory

    mv $HOME/.local/share/akonadi/db_data $HOME/.local/share/akonadi/db_data_old

    Create the new database, using the postgreSQL 11 executable

    /usr/lib/postgresql11/bin/initdb --pgdata=$HOME/.local/share/akonadi/db_data --locale=en_US.UTF-8

    Warning

    Do NOT change the --locale value.

    Check if upgrading is safe

    /usr/lib/postgresql11/bin/pg_upgrade -b /usr/lib/postgresql10/bin -B /usr/lib/postgresql11/bin -d $HOME/.local/share/akonadi/db_data_old -D $HOME/.local/share/akonadi/db_data --check

    For more details about this command, you may read the pg_upgrade documentation.

    If pg_upgrade doesn't detect any problem, you can start the database upgrade

    /usr/lib/postgresql11/bin/pg_upgrade -b /usr/lib/postgresql10/bin -B /usr/lib/postgresql11/bin -d $HOME/.local/share/akonadi/db_data_old -D $HOME/.local/share/akonadi/db_data

    Last steps, starting akonadi

    akonadictl start

    and running the consistency check

    akonadictl fsck

    After checking that your applications work as usual, you may delete the two backup copies you created earlier.

    More Information