Инструкция по восстановлению бэкапа БД Time
примечание
Доступно только в On-Premise инсталляции Time.
Подготовительный этап
-
Зайти в контенер БД postgres в docker:
docker exec -it postgres /bin/bash -
Сделать бэкап БД:
export PG_HOST="<хост БД>"
export PG_PORT="<порт БД>"
export PG_DBNAME="<имя БД>"
export PG_USERNAME="<имя пользователя БД>"
export PG_DUMP_FILE="<имя файла для сохранения дампа>"
pg_dump \
--format=custom \
--blobs \
--host="${PG_HOST}" \
--port="${PG_PORT}" \
--dbname="${PG_DBNAME}" \
--username="${PG_USERNAME}" \
--no-owner \
--no-privileges \
--clean \
--verbose \
--file="${PG_DUMP_FILE}" \
2>&1 -
Выйти из контейнера postgres и скопировать дамп БД из контейнера на хост:
docker cp postgres:/<путь к директории>/<имя файла дампа> /<путь для сохранения на локальном хосте>
Восстановление БД из бэкапа
-
Рекомендуем сделать бэкап существующей БД Time:
export PG_HOST="<хост БД>"
export PG_PORT="<порт БД>"
export PG_DBNAME="<имя БД>"
export PG_USERNAME="<имя пользователя БД>"
export PG_BACKUP_FILE="<имя файла для сохранения бэкапа>"
pg_dump \
--format=custom \
--blobs \
--host="${PG_HOST}" \
--port="${PG_PORT}" \
--dbname="${PG_DBNAME}" \
--username="${PG_USERNAME}" \
--no-owner \
--no-privileges \
--clean \
--verbose \
--file="${PG_BACKUP_FILE}" \
2>&1 -
Восстановление БД из дампа
осторожноДанное действие перезапишет все существующие данные в целевой БД!!!
export PG_HOST="<хост БД>"
export PG_PORT="<порт БД>"
export PG_DBNAME="<имя БД>"
export PG_USERNAME="<имя пользователя БД>"
export PG_DUMP_FILE="<имя файла дампа скопированного после восстановления данных в БД в Docker-compose: Подготовительный этап → шаг 6>"
pg_restore \
--format=custom \
--host="${PG_HOST}" \
--port="${PG_PORT}" \
--dbname="${PG_DBNAME}" \
--username="${PG_USERNAME}" \
--no-owner \
--no-privileges \
--clean \
--single-transaction \
--if-exists \
--verbose \
"${PG_DUMP_FILE}" \
2>&1 -
После успешного восстановления БД нужно перезайти в Time.
Для первого входа необходимо использовать логин/пароль пользователя, созданного в "Подготовительный этап" → шаг 1.
-
Запустить реиндексацию поиска на целевой инсталляции: Системная консоль → Окружение → Elasticsearch → нажмите кнопку Индексировать сейчас
В итоге будут восстановлены следующие данные:
- Команда
- Каналы
- Пользователи
- Сообщения