Перейти к основному содержимому

Резервное копирование и восстановление

Примечание

Инструкции действительны только для версии ТестОпс 5.

Зачем это нужно?

Есть несколько причин, когда вам нужно использовать резервное копирование и восстановление.

  1. Вам нужно перенести вашу базу данных из контейнера в автономную версию (что обязательно для производства с большим количеством тестов).
  2. Вы заботитесь о своих данных и не хотите их потерять.

Мы настоятельно рекомендуем использовать автономное развертывание базы данных, т.е. сервер базы данных должен работать на выделенной виртуальной машине или физическом сервере (не в контейнере/поде), иначе, скорее всего, вы столкнетесь с проблемами производительности.

Как сделать резервное копирование базы

Перед началом процесса резервного копирования или восстановления, пожалуйста, остановите все контейнеры, которые не имеют -db_ в своих именах.

Резервное копирование баз данных ТестОпс

pg_dump -c -U [POSTGRESQL_USER] > testops-backup.sql

где

  • CONTAINER_WITH_DB это имя контейнера, в котором работает база данных.

  • POSTGRESQL_USER это имя пользователя Postgres DB, вы найдете его в файле .env

Восстановление базы данных

Если вы запустили контейнеры с помощью docker-compose, вам нужно остановить контейнеры без базы данных, как описано в разделе предварительных условий.

Удалите существующую (предположительно пустую) базу данных.

psql -U [POSTGRESQL_USER] -d postgres -c "DROP DATABASE testops"

Создайте пустую базу данных.

psql -U [POSTGRESQL_USER] -d postgres -c "CREATE DATABASE testops"

Восстановите из ранее сделанной резервной копии.

cat testops-backup.sql | psql -U [POSTGRESQL_USER] -d testops