В связи с изменением версии БД (Postgres 15) стандартная процедура обновления с сохранением данных не возможна. Процедура приведенная ниже производит перенос данных БД через импорт |
| Перед началом процедуры убедитесь что места достаточно для создания копии папки rtls |
cd rtls docker compose stop |
cd ../ mv rtls rtls_bup |
cd rtls_bup docker compose up -d postgres |
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' |
docker compose exec -ti postgres su postgres -c 'pg_dump -d postgres -U postgres -n rtls_pu \ -Fc -f /var/lib/postgresql/data/schema_v4.dmp' |
убедиться что в директории postgres появился файл postgres/schema_v5.dmp
ls -lh postgres/ |
docker compose stop postgres |
cp ../rtls_bup/postgres/schema_v5.dmp ./postgres/ |
docker compose up -d postgres |
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' |
docker compose up -d |
cкопировать данные о картографических слоях в рабочую папку
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/ |
docker compose restart |