Обновление базы данных до версии PostgreSQL 17

В системе PLAN-R поддерживается база данных PostgreSQL, включая версию 14 и выше. По умолчанию в комплект поставки входит и устанавливается PostgreSQL 14.5.0. Также в комплект поставки входит актуальная версия базы данных PostgreSQL 17.4.0, которую можно выбрать во время установки или обновления системы PLAN_R и перенести в неё существующие данные.

Выбор PostgreSQL 17.4.0 при первичной установке PLAN-R

По умолчанию, в системе устанавливается PostgreSQL 14.5.0. Для того, чтобы установить PostgreSQL 17.4.0 во время первичной установки, необходимо выполнить пункт документации Подготовка к установке (Linux), затем приступив к выполнению пункта Установка PLAN-R (Linux), необходимо перейти в директорию /opt/dppm/planr/ и отредактировать файл переменной среды .env, раскомментировав или добавив следующую строку: # POSTGRES_VERSION=17.4.0

register imageРедактирование .env файла

Далее, нужно выполнить запуск системы командой ./start.sh

Установка PostgreSQL 17.4.0 во время обновления системы

Чтобы установить базу данных PostgreSQL 17.4.0 во время обновления системы PLAN-R необходимо:

  • Сделать бэкап базы данных, руководствуясь пунктом Резервное копирование. Для этого выполните скрипт dump.sh, который создаст бэкап базы данных на текущий момент в директории /opt/dppm/postgres_dump
./dump.sh -p /opt/dppm/postgres_dump

register imageСоздание бэкапа базы данных перед обновлением

  • Выполнить пункт документации Подготовка к обновлению системы
  • Перейти в директорию /var/lib/docker/volumes/, найти и переименовать текущий docker volume базы данных PostgreSQL 14.5.0. Внимание! Перед переименованием docker volume система должна быть остановлена. Все команды необходимо выполнять от имени администратора:
# Переходим в директорию
cd /var/lib/docker/volumes/
# Ищем текущий docker volume
ls –lha | grep postgres
# В примере, текущий docker volume переименовывается в planr_postgresql_14
mv planr_postgresql planr_postgresql_14

register imageПереименование docker volume

При необходимости, старый docker volume базы данных PosgreSQL 14.5.0 можно заархивировать для экономии места следующей командой:

tar --remove-files -cvzf planr_postgresql_14.tar.gz ./planr_postgresql_14
  • Далее, необходимо удалить старый volume planr_postgresql следующей командой:
# Удаляем volume planr_postgresql
docker volume rm planr_postgresql
  • При выполнении пункта Обновление системы PLAN-R (Linux) отредактировать файл переменной среды .env, раскомментировав строку # POSTGRES_VERSION=17.4.0 и запустить систему командой ./start.sh
  • Далее выполнить восстановление базы данных из бэкапа, руководствуясь пунктом документации Резервное копирование и убедиться, что обновление базы данных PostgreSQL прошло успешно.

509.1-59ba7826