Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Info

В связи с изменением версии БД (Postgres 15)  стандартная процедура обновления с сохранением данных не возможна.

Процедура приведенная ниже производит перенос данных БД через импорт

Подготовка бекапа 

Warning
Перед началом процедуры убедитесь что места достаточно для создания копии папки rtls
  1. Выключить все контейнеры 
    Code Block
    cd rtls
    docker compose stop
  2. Сделать бекап текущего состояния через изменение имени рабочей директории rtls 
    Code Block
    cd ../
    mv rtls rtls_bup

Экспорт данных в файл

  1. запустить контейнер postgres
    Code Block
    cd rtls_bup
    docker compose up -d postgres
  2. провести предпочтительную процедуру экспорта  
    1. только конфигурация без исторических данных (без истории перемещений, событий и т.д) 
      Code Block
      docker compose exec -ti postgres su postgres -c 'pg_dump -d postgres -U postgres -n rtls_pu \
      --exclude-table-data=rtls_pu.rtls_tag_blink \
      --exclude-table-data=rtls_pu.rtls_mileage \
      --exclude-table-data=rtls_pu.rtls_tag_sensor \
      --exclude-table-data=rtls_pu.rtls_event \
      --exclude-table-data=rtls_pu.rtls_area_log \
      --exclude-table-data=rtls_pu.rtls_site_log \
      -Fc -f /var/lib/postgresql/data/schema_v5.dmp'
    2. все данные, включая исторические 
      Code Block
      docker compose exec -ti postgres su postgres -c 'pg_dump -d postgres -U postgres -n rtls_pu \
      -Fc -f /var/lib/postgresql/data/schema_v4v5.dmp'
  3. убедиться что в директории postgres появился файл postgres/schema_v5.dmp 

    Code Block
    ls -lh postgres/
  4. остановить контейнер postgres 
    Code Block
    docker compose stop postgres

Подготовка к импорту

  1. распаковать ПО v6.0 в папку rtls согласно инструкции Первая установка и обновление (чистая установка)  до п.4 (без запуска контейнеров)
  2. в папку  postgres/ положить файл с данными, выгруженными из БД 
    Code Block
    cp ../rtls_bup/postgres/schema_v5.dmp ./postgres/
  3. положить файл update_v5.5.1-v6.sql в директорию postgres/
  4. запустить контейнер postgres 
    Code Block
    docker compose up -d postgres
  5. дождаться полного запуска контейнера postgres (статус healthy)

Импорт данных

  1. загрузка данных в БД может занять некоторое время (в зависимости от схемы экспорта) 
    Code Block
    docker compose exec -ti postgres su postgres -c 'psql -d postgres -c "DROP SCHEMA rtls_pu CASCADE;"'
    docker compose exec -ti postgres pg_restore -d postgres -U postgres /var/lib/postgresql/data/schema_v5.dmp
    docker compose exec -ti postgres su postgres -c 'psql -d postgres -f /var/lib/postgresql/data/update_v5.5.1-v6.sql'
  2. запустить остальные контейнеры 
    Code Block
    docker compose up -d
  3. cкопировать данные о картографических слоях  в рабочую папку

    Code Block
    cp -R ../rtls_bup/srv/geoserver-data/data/rtls srv/geoserver-data/data/
    cp -R ../rtls_bup/srv/geoserver-data/workspaces/rtls/site* srv/geoserver-data/workspaces/rtls/
  4. перезапустить контейнеры 
    Code Block
    docker compose restart

Проверка результата импорта

  1. ождаться дождаться полного запуска контейнеров (статус healthy)
  2. загрузить пользовательский интерфейс CToolUI или BA-UUI
  3. проверить отображение устройств на картах
Table of Contents
maxLevel7
minLevel1
stylenone
printablefalse