Перейти к основному содержимому
Версия: 2.0 (WIP)

Обновление версии ≤ 1.3.2

В версии 1.3.3 был изменен образ СУБД Postgres, поставляемый в составе дистрибутива с версии 11 на 15.

Последовательность операций

Перед обновлением

  1. Остановить сервисы Памир и запустить только сервис СУБД

    cd $HOME/.pamir # <app dir>/.pamir
    pamirctl stop
    export COMPOSE_ENV_FILES=.env,.deps.autogen
    docker-compose --profile db.postgres up -d
  2. Создать новую резервную копию БД srm

    docker-compose exec -t database pg_dump -c -h database -U app_postgres srm > data/dump_srm_`date +%Y-%m-%d_%H-%M-%S`.sql
  3. Остановить сервис СУБД и удалить его, а также том с данными

    docker-compose stop database
    docker-compose rm -f database
    docker volume rm -f pamir_database-data
  4. Выполнить процесс обновления дистрибутива, убедившись, что сервис СУБД после обновления запустился штатно

    docker-compose logs --tail 10 database
Полный листинг для копирования
   cd $HOME/.pamir
pamirctl stop
export COMPOSE_ENV_FILES=.env,.deps.autogen
docker-compose --profile db.postgres up -d
docker-compose exec -t database pg_dump -c -h database -U app_postgres srm > data/dump_srm_`date +%Y-%m-%d_%H-%M-%S`.sql
docker-compose stop database
docker-compose rm -f database
docker volume rm -f pamir_database-data
# далее запустить процесс обновления дистрибутива

После обновления

  1. Аналогично п.1 "До обновления" - остановить сервисы Памир и запустить только сервис СУБД

  2. Запустить восстановление БД из дампа

    cd $HOME/.pamir # <app dir>/.pamir
    docker-compose exec -T database psql -h database -U app_postgres srm <data/dump_srm_...sql

    При восстановлении могут возникнуть ошибки установки меток безопасности:

    CREATE TABLE
    ALTER TABLE
    ERROR: insufficient privilege or MAC capabilities
    ERROR: insufficient privilege or MAC capabilities
    CREATE TABLE
    ALTER TABLE

    На практике ошибок после восстановления не было, все данные из бэкапа были на месте.

  3. После восстановления запустить сервисы Памир

    pamirctl start
Полный листинг для копирования
   cd $HOME/.pamir
docker-compose exec -T database psql -h database -U app_postgres srm <data/dump_srm_...sql
pamirctl start
docker-compose logs --tail 20 database