Обновление сервера на PostgreSQL 15 под ОС Linux Ubuntu

Публичное пространство

Обновление сервера на PostgreSQL 15 под ОС Linux Ubuntu

Внимание!

При использовании схемы с разделением базы данных на отдельный сервер обновление должно быть произведено на обоих серверах.

Производить обновление на сервере, где установлен WildFly, необходимо дополнительным скриптами согласно инструкции:

  • CentOS - upgrade_pg_centos_app_only.sh

  • Ubuntu - upgrade_pg_ubuntu_app_only.sh

  • Windows - взять скрипты из данной статьи для обновления Postgres UPGRADEv26.5_PUBLIC.zip

 

Внимание!

  • Инструмент производит обновление сервера СУБД PostgreSQL с версии 11 на версию 15.

  • Обновление предназначено только для процессоров с разрядностью 64 бит.

  • На время обновления обязательно отключите антивирусное ПО.

  • Инструмент производит обновление только на серверах с установленным образом SetRetail10 Ubuntu.

  • При обращении в службу поддержки обязательно прикладывайте лог-файлы обновления.

  • Все службы останавливаются и запускаются автоматически.

Архив лог-файлов для передачи в службу поддержки:

1. Все лог-файлы обновления сохраняются в единый архив по пути /tmp/update.tar.gz:

 

2. Подключитесь с помощью WinSCP (например через SetConsole) и скопируйте файл на любую рабочую станцию под управлением Windows, или отправьте файл архива любым другим способом в службу поддержки.

Перед обновлением PostgreSQL до версии 15 удалите все расширения (extensions), установленные в базах данных.

Выполните скрипт для удаления расширений.

Выполните скрипт по следующим причинам:

  • Совместимость: Некоторые расширения больше не поддерживаются или изменили свою структуру во вновь установленных версиях PostgreSQL.

  • Ошибки при миграции: При попытке переноса базы данных с установленными расширениями, которых нет или, которые несовместимы в новой версии, возможны ошибки ERROR: could not access file ..., что приведёт к срыву обновления.

  • Чистота окружения: Удаление расширений перед миграцией позволяет выполнить обновление на "чистую" базу, а затем установить только совместимые и необходимые модули вручную.

После успешного обновления вы сможете установить требуемые расширения заново, уже в новой среде PostgreSQL 15, используя совместимые версии.

 

 

Описание процесса

Данный процесс предусматривает перевод сервера PostgreSQL с версии 11 до версии 15

Обращаем ваше внимание на то, что обновление сервера PostgreSQL должно осуществляться опытными ИТ-специалистами, обладающими базовыми навыками по администрированию Unix/Linux систем.

Данная инструкция применима только для сборок Ubuntu SetRetail10!

Дистрибутив

  • Используйте данные учетной записи, которая предназначена для загрузки патчей и дистрибутивов SetRetail10.

  • Для предоставления учетной записи обратитесь к вашему менеджеру, или в службу поддержки.

Патч обновления на PostgreSQL 15 для Linux Ubuntu

Загрузить

Подключение к серверу для управления командной строкой

SetConsole

1. В SetConsole войдите в раздел Сервер.

2. Введите данные сервера → нажмите Подключиться по SSH.

3. Откроется SSH-сеанс командной строки сервера.

PuTTy

1. Установите тип кодировки UTF8.

2. Введите IP-адрес сервера и нажмите кнопку Open.

3. Нажмите кнопку Да.

4. Введите логин и пароль. Обратите внимание, во время ввода пароля, этот процесс не отображается.

Логин и пароль указаны в качестве примера.

Подготовка к обновлению

1. Перед загрузкой дистрибутивов и в целом для начала процесса установки убедитесь, что Вам действительно стоит переходить на версию PostgreSQL 11.

Проверьте, что у Вас установлен PostgreSQL версии 11

Наберите команду:

psql --version

Результатом вывода команды должна стать версия 11.XX.ХХ

2. Обязательно проверьте наличие свободного дискового пространства, оно должно быть достаточным, в зависимости от размеров вашей БД, так как в следующих шагах восстановление базы данных будет производиться в новую версию сервера СУБД PostgreSQL 11.

  1. Запустите виртуальный терминал командой screen

  2. Приступите к процессу обновления.

Проверьте, что размер вашего жесткого диска позволяет провести данную операцию командой:

df -h

Также проверьте размер папки с PostgreSQL командой:

Внимание!

Общий объем базы данных всегда должен умножаться на 1.5, чтобы хватило места для бэкапирования.

Например:

  • Общий объем файлов базы данных составляет 140Gb. 140 * 1.5 = 210Gb.

  • При этом можно еще прибавить запас 40Gb для внештатных ситуаций.

  • Таким образом 210Gb + 40Gb = 250Gb для обновления и резервного копирования.

du -hs /var/lib/pgsql/

3. Следуйте только шагам описанным в данной инструкции!

Загрузка дистрибутивов на сервер

1. Загрузите дистрибутив, используя WinSCP отдельно или через SetConsole → войдите в раздел Сервер.

2. Введите данные сервера → нажмите Подключиться по WinSCP.

3. Скопируйте файл дистрибутива в папку /hd:

Кликните по файлу на диске → нажмите клавишу F5 → нажмите OK.

Дождитесь загрузки дистрибутива на сервер.

4. Дистрибутив отобразится в папке сервера /hd.

Обновление PostgreSQL для ОС Linux Ubuntu

1. Выполните команду:

sudo chmod -R 777 /home/hd/upgrade_pg11_pg15.sh

 

2. Для запуска обновления выполните команду:

sudo sh ./upgrade_pg11_pg15.sh

 

3. Начнется процесс обновления сервера. 

 

4. Во время процесса обновления будут созданы резервные копии всех баз данных, установлена новая версия PostgreSQL 15.

 

Во время обновления могут появиться сообщения об ошибках, которые не влияют на результат.

 

 

5. По окончании процесса обновления появится сообщение о его завершении.

 

6. Выполните команду для проверки версии PostgreSQL.

psql --version

Должна отобразиться версия 15.5

7. Выполните команду для проверки статуса службы сервера СУБД PostgreSQL 15.

systemctl status postgresql

8. Выполните команду для проверки статуса службы сервера SetRetail.

systemctl status JBOSS_SVC

Если статус не отображается active (exited), тогда перезагрузите полностью сервер командой sudo reboot и заново проверьте статус службы.

Также проверьте статус службы SetAgent.

systemctl status setagent.service

9. Наберите команду для проверки статуса запуска приложения и проверьте, что отображается файл Set10.ear.deployed

ls -la /var/lib/jboss/standalone/deployments/

Также проверьте установленные службы.

sudo dpkg -l | grep postgresql

Если среди служб будет наличие PostgreSQL 11, тогда выполните команду:

sudo apt-get remove --purge postgresql-11 postgresql-client-11

10. Наберите адрес сервера SetRetail и проверьте, что визуальная часть отображается в веб-браузере. 

Обновление завершено.

Лог-файлы обновления и резервные копии баз данных

Все копии баз данных и лог-файлы процесса обновления располагаются в папке /var/lib/postgresql/11/upgrade1115.

 

Для просмотра статуса обновления откройте для просмотра лог-файл status.log

 

Будут отображены статусы резервного копирования, восстановления и обновления.

 

Очистка места на диске после обновления

Внимание!

Выполняйте этот шаг, если:

  • Прошло минимум 7 дней после обновления

  • На диске недостаточно места после обновления. В иных случаях, данный шаг не является обязательным.

  • Обязательно! Произведена полная проверка того, что все бизнес-процессы по работе сервера работают стабильно: связь и обмен между кассам, импорт и экспорт в ERP. Иначе, после удаления бэкапа и обнаружения проблем с БД, будет невозможно исправить ситуацию, для устранения придется переустанавливать сервер без бэкапов!

  • Обновления МУКом патчами производятся стабильно!

Удалите всю папку с пакетом обновления, включая файлы резервных копий, выполнив команду.

sudo rm -rf /var/lib/postgresql/11/

© 1994-2026, ООО «Кристалл Сервис Интеграция».
Все права защищены.

Политика обработки персональных данных