Обновление версии ≤ 1.3.2
В версии 1.3.3 был изменен образ СУБД Postgres, поставляемый в составе дистрибутива с версии 11 на 15.
Последовательность операций
Перед обновлением
-
Остановить сервисы Памир и запустить только сервис СУБД
cd $HOME/.pamir # <app dir>/.pamir
pamirctl stop
export COMPOSE_ENV_FILES=.env,.deps.autogen
docker-compose --profile db.postgres up -d -
Создать новую резервную копию БД 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 -
Остановить сервис СУБД и удалить его, а также том с данными
docker-compose stop database
docker-compose rm -f database
docker volume rm -f pamir_database-data -
Выполнить процесс обновления дистрибутива, убедившись, что сервис СУБД после обновления запустился штатно
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 "До обновления" - остановить сервисы Памир и запустить только сервис СУБД
-
Запустить восстановление БД из дампа
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На практике ошибок после восстановления не было, все данные из бэкапа были на месте.
-
После восстановления запустить сервисы Памир
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