This guide describes the steps needed 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 in this guide are valid for openSUSE users. You may have to change the executable paths for your distribution.
Stop the Akonadi services
(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
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
and running the consistency check
After checking that your applications work as usual, you may delete the two backup copies you created earlier.