- Создаем дамп переносимой схемы (в качестве примера, используется датасет ds_1):
su - postgres -c 'pg_dump -v -Fc --encoding=UTF-8 -n 'ds_1' -f /tmp/ds_1.sqlc mi'
-
Переносим файл ds_1.sqlc на сервер с развернутой БД.
-
Резервное копирование обновляемой БД (в примере дамп БД сохраняется в папку /tmp/):
su - postgres -c 'pg_dump -v -Fc --encoding=UTF-8 --blobs -f /tmp/mi.cdump mi'
-
Подготовка БД к переносу:
4.1. В случае если в БД уже есть датасет ds_1:
4.1.1 подключение к базе под пользователем postgres:
su - postgres -c 'psql mi'
4.1.2 удаляем имеющуюся схему:
drop schema ds_1;
4.2. В случае если в БД нет датасета ds_1:
4.1.1 подключение к базе под пользователем postgres:su - postgres -c 'psql mi'
4.1.2. создаем запись в таблице adm.datasets:
insert into adm.datasets (schema_name, title, description, is_visible) values ('ds_1','Название датасета','Описание датасета',1);
-
выполняем заливку в БД:
su - postgres -c 'pg_restore -v -Fc -d mi /путь_к_файлу/ds_1.sqlc' 2>&1 | tee ./mi.log