Процедура обновления ПО
PostgreSQL
Совет
Рекомендуется использовать программы pg_dump и pg_dumpall из более новой версии PostgreSQL
Пример обновления PostgreSQL с помощью pg_dump:
Создайте резервную копию базы данных (шаг можно пропустить, если резервная копия была сделана ранее):
$ pg_dump -U postgres -d your_database_name -F c -b -v -f backup.dump
Создайте копию в формате sql (на всякий случай):
$ pg_dump -U postgres -d your_database_name > backup.sql
- где
-U postgres— пользователь базы данных; -d your_database_name— имя базы данных;-F c— формат дампа (custom);-b— включает большие объекты в дамп;-v— включает подробный вывод;-f backup.dump— имя файла дампа.
- где
Добавьте репозиторий PostgreSQL:
$ sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - sudo apt-get update
Установите PostgreSQL 16.3:
$ sudo apt-get install postgresql-16
Остановите службу PostgreSQL 12:
$ sudo systemctl stop postgresql@12-main
Инициализируйте новый кластер PostgreSQL 16.3:
$ sudo pg_createcluster 16 <название_кластера>.
Запустите службу PostgreSQL 16.3:
$ sudo systemctl start postgresql-16
Удалите старый том:
$ psql -U postgres -c "DROP DATABASE IF EXISTS postgres;"
Восстановите базу данных - создайте новую базу данных:
$ createdb -U postgres postgres
Восстановите дамп:
$ pg_restore -U postgres -d postgres -v backup.dump
Обновите файлы конфигурации - создайте резервные копии старых файлов конфигурации:
$ cp /etc/postgresql/12/main/postgresql.conf /etc/postgresql/12/main/postgresql.conf.backup $ cp /etc/postgresql/12/main/pg_hba.conf /etc/postgresql/12/main/pg_hba.conf.backup
Откройте новые файлы конфигурации:
$ sudo vim /etc/postgresql/16/main/postgresql.conf $ sudo vim /etc/postgresql/16/main/pg_hba.conf
Найдите пользовательские параметры, установленные в старом postgresql.conf, и скопируйте их в новый postgresql.conf.
Скопируйте пользовательские правила доступа из старого pg_hba.conf в новый pg_hba.conf.
После объединения конфигураций сохраните и закройте новые файлы конфигурации.
Перезапустите PostgreSQL:
$ sudo systemctl restart postgresql-16
Проверьте конфигурацию:
$ sudo tail -f /var/log/postgresql/postgresql-16-main.log
Удалите старую версию PostgreSQL:
$ sudo apt-get remove postgresql-12 $ sudo apt-get autoremove
Удалите старый каталог данных:
$ sudo rm -rf /var/lib/postgresql/12/main
Файлы приложения и конфигурации
Предварительно: убедитесь, что созданы все требуемые резервные копии конфигурации.
Примечание
При копировании новых библиотек необходимо удалять старые, т.к в некоторых случаях при обновлении системы используется не новая, а старая версия библиотеки, вследствие чего в работе системы возникают ошибки
Удалите все файлы из директорий:
<TOMCAT_HOME>/work;<TOMCAT_HOME>/temp;<TOMCAT_HOME>/webapps;
Скопируйте содержимое директории <TOMCAT_HOME>/webapps/ и <TOMCAT_HOME>/lib/ (WAR-файлы приложения, библиотеки) из установочного пакета:
cp <UNIVERSE_PACKAGE>/Tomcat/lib/ <TOMCAT_HOME>/lib/ # Заменить новыми версиями cp <UNIVERSE_PACKAGE>/Tomcat/webapps/universe-.war <TOMCAT_HOME>/webapps/
Обновите конфигурационные файлы:
Файл /opt/tomcat-9/bin/setenv.sh, с настроенными ранее переменными для backend.properties, не изменяется.
Замените папку с конфигурациями, необходимые правки из прошлой версии backend.properties перенесите в новую:
cp -f <UNIVERSE_PACKAGE_DIR>/conf/ <TOMCAT_HOME>
Обновите права:
chown -RL tomcat:tomcat /opt/tomcat-9
Убедитесь, что все требуемые для проекта файлы интеграции в <TOMCAT_HOME>/universe_integration актуальны.
Скопируйте в <TOMCAT_HOME>/webapps/universe-frontend кастомизации UI (при наличии).
В файле <TOMCAT_HOME>/webapps/universe-frontend/customer.json проверьте достоверность указания всех переданных файлов для UI.
Перезапустите Tomcat:
systemctl restart tomcat
Примечание
Процедуру обновления программных компонентов необходимо выполнить на каждом узле кластера, если Юниверс MDM установлена в кластерной конфигурации
Apache Tomcat
Для обновления Tomcat с версии 7 до версии 9:
Скопируйте содержимое tomcat, установленного по инструкции, в новую директорию и замените ссылку:
ln -sTfb /Путь/к/новой/версии/ /opt/tomcat-9
База данных
Обновление базы данных:
Скопируйте директорию database из дистрибутива в любой подкаталог относительно конечного каталога установки дистрибутива Юниверс.
Укажите требуемые параметры системы в файле init_env.sh (init_env.bat для Windows) из директории database.
Запустите скрипт обновления схемы данных в БД:
./update_database.sh
В случае возникновения проблем с обновлением используйте следующие скрипты:
Для просмотра статуса миграций:
./check_database.sh(.bat для Windows).Для устранения ошибок миграций:
./repair_database.sh(.bat для Windows).
Если проблема сохраняется после выполнения repair_database.sh, то необходимо обратиться в техподдержку.
Поисковой индекс
Примечание
Осуществлен переход с Elasticsearch на OpenSearch. Инструкцию по переходу см. по ссылке