Шаблон:Перенос БД на ОС отличные от Linux Astra SE

Материал из Юпитер-8
  В ПО КРОС уже встроен механизм резервного копирования. Однако иногда возникает необходимость переноса базы данных на ОС отличную от Linux Astra SE.
  В связи с тем, что данная ОС выставляет мандатные метки, восстановление базы данных на компьютерах с ОС их не поддерживающих, затруднительно.
  В этом случае необходимо воспользоваться утилитами postgresql из терминала.
  1. Необходимо выйти из АРМ и остановить smpo-server : sudo systemctl stop smpo-server, либо sudo service smpo-server stop
  2. Проверяем: завершились ли процессы - ps -aux | grep java
  3. Если процессы не завершились, делаем принудительное завершение: sudo kill -9 <номер процесса>
  4. Перед созданием резервной копии рекомендуется сделать обслуживание БД.
  5. Далее делаем копию базы с отключением мандатных меток: sudo pg_dump -U postgres -h localhost -Fp --disable-macs --no-security-labels jupiter > /home/elesta/jupiter.sql.
     Вводим пароль пользователя postgres, если система запросит.
  6. Копируем файл jupiter.sql из каталога /home/elesta на внешний носитель и переносим на новый компьютер
  7. Восстановление базы возможно из утилиты pgAdmin или в командной строке: sudo psql -h localhost -U postgres -d jupiter </home/elesta/jupiter.sql. 
    При восстановлении БД из командной строки база jupiter должна быть создана.
  8. Для запуска ПО необходимо выполнить: sudo systemctl start smpo-server, либо sudo service smpo-server start


Данный алгоритм так же используется при переносе БД между ОС Astra SE 1.6 и 1.7, так как механизмы мандатных меток в этих версиях обличаются.

В начало статьи