Akonadi/Оновлення PostgreSQL
У цих настановах описано кроки, які слід виконати для оновлення вашої бази даних Akonadi, якщо ви користуєтеся сервером PostgreSQL.
Щоб скористатися цими настановами, вам потрібні будуть одночасно стара і нова версії PostgreSQL. Наведені нижче шляхи до програм є чинними для користувачів openSUSE. Ймовірно, вам слід адаптувати ці шлях до вашого дистрибутива.
Вам знадобляться програми initdb та pg_upgrade. Перш ніж виконувати наведені нижче настанови, переконайтеся, що ці програми встановлено. У openSUSE pg_upgrade є частиною пакунка postgresql-contrib.
Зупиніть роботу служб Akonadi
akonadictl stop
(дочекайтеся завершення роботи усіх процесів akonadi)
Створіть додаткову резервну копію
cp -R $HOME/.local/share/akonadi/db_data $HOME/.local/share/akonadi/db_data_10
Перейменуйте каталог бази даних Akonadi
mv $HOME/.local/share/akonadi/db_data $HOME/.local/share/akonadi/db_data_old
Створіть нову базу даних за допомогою виконуваного файла postgreSQL 11
/usr/lib/postgresql11/bin/initdb --pgdata=$HOME/.local/share/akonadi/db_data --locale=en_US.UTF-8
Перевіте, чи безпечним є оновлення
/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
Щоб дізнатися більше про цю програму, можете скористатися документацієюю до pg_upgrade.
Якщо pg_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
Нарешті, запустіть akonadi
akonadictl start
і виконайте перевіку узгодженості
akonadictl fsck
Якщо усі ваші програми працюватимуть як слід, можете вилучити дві резервні копії, які ви раніше створили.
Додаткові відомості
- openSUSE Leap 15.2: Akonadi не запускається після оновлення до PostgreSQL 12 із тим самим повідомленням, що і у https://bugs.archlinux.org/task/64562. Вирішення: встановіть PostgreSQL 11, зробіть його типовим (за допомогою update-alternatives) і оновіться до PostgreSQL 11.
- Оновлення PostgreSQL (Вікі Arch linux)
- Оновлення PostgreSQL (Офіційна документація з PostgreSQL)