Резервное копирование базы данных для Polyspace доступ к версиям R2020a и ранее

Примечание

Эта тема применяется к Polyspace® Доступ к версиям R2020a и ранее. Для версий R2020b и позже, смотрите Резервное копирование базы данных.

Чтобы создать резервное копирование вашей базы данных Access Polyspace, используйте pg_dumpall Утилита PostgreSQL. Утилита создает дамп вашей базы данных. Можно затем восстановить состояние базы данных от того, когда дамп был создан. pg_dumpall утилита доступна в polyspace-db контейнер Polyspace доступ.

На основе вашего размера базы данных и частоты использования, установите политику для того, как часто вы создаете резервное копирование. Пользователи не могут взаимодействовать с Polyspace доступ, в то время как вы выполняете резервное копирование базы данных или восстановление. Прежде чем вы запустите резервное копирование или восстановите операцию, сообщите своим пользователям.

Создайте резервное копирование базы данных

Когда вы создаете резервное копирование базы данных, pg_dumpall утилита генерирует список команд SQL, которые вы используете, чтобы восстановить вашу базу данных. Операция резервного копирования требует привилегий суперпользователя. Привилегии установлены через PostgreSQL и отдельные от полномочий пользователя в вашей системе. Например, чтобы сгенерировать дамп базы данных и сохранить его как backup_db.sql, откройте терминал на машине, которая размещает сервис Database, и выполните эти шаги.

  1. Чтобы гарантировать, что ваше резервное копирование не содержит частичные или поврежденные данные, остановите ETL и сервисы Web Server прежде, чем запустить операцию резервного копирования. В терминале введите эту команду:

    docker stop polyspace-etl polyspace-web-server

    Совет

    Остановка Служб доступа Polyspace при помощи интерфейса Cluster Operator (COP) на Windows Server 2019 может закончиться в медленное время отклика. Вместо этого используйте эти команды, чтобы остановить сервисы:

    
    docker exec -it polyspace-etl kill 1
    docker exec -it polyspace-web-server kill 1

  2. Сгенерируйте резервное копирование базы данных и сохраните его в backup_db.sql.

    docker exec polyspace-db pg_dumpall -U postgres > backup_db.sql
    docker exec команда запускает pg_dumpall утилита в polyspace-db контейнер. -U задает суперпользователь postgres. Выход pg_dumpall затем сохранено как backup_db.sql. Следует иметь в виду то использование pg_dumpall на больших базах данных может сгенерировать файлы, которые превышают максимальный предел размера файла на некоторых операционных системах и могут быть трудоемкими.

  3. Перезапускать сервисы Web Server и ETL.

    docker start polyspace-etl polyspace-web-server

Восстановите базу данных от резервного копирования

Чтобы восстановить ваши данные из резервного копирования базы данных, используйте psql утилита. Эта утилита доступна в polyspace-db контейнер. Операция восстанавливает данные и полномочия пользователя для проектов Access Polyspace. Например, можно восстановить базу данных от резервного копирования, сохраненного в файле backup_db.sql. Вы завершаете некоторые шаги в интерфейсе COP. Другие шаги требуют терминала на сервере, который размещает сервис Database.

  1. Создайте базу данных. В интерфейсе COP удалите все сервисы, затем нажмите Settings на левой панели. При настройках Database нажмите create volume рядом с полем Data volume, чтобы создать объем, затем выбрать этот объем из Data volume выпадающий список. Если вы не видите, что create volume соединяется, задайте новый путь к папке в поле Data volume. Если путь к папке не существует, COP создает его. Сохраните свои изменения.

  2. Возвратитесь к вкладке Services, нажмите PROVISION, затем запустите только сервис Database.

  3. Восстановите базу данных от backup_db.sql. В терминале введите эту команду:

    
    docker exec -i polyspace-db psql -U postgres postgres <backup_db.sql
    Если вы сохранили свое резервное копирование в сжатом файле, распакуйте файл, и затем передайте его содержимое по каналу к docker exec команда. Например, если вы используете gzip, восстановить базу данных из файла backup_db.gz, Введите:
    gzip -cd backup_db.gz | docker exec -i polyspace-db psql -U postgres postgres

  4. В интерфейсе COP нажмите START ALL, чтобы запустить все сервисы.

После того, как сервисы запускают, открывают интерфейс Polyspace Access в вашем веб-браузере, чтобы просмотреть проекты, которые хранились в базе данных до того, когда вы создали резервное копирование.

В качестве альтернативы можно использовать файлы журнала с упреждающей записью (WAL), чтобы выполнить инкрементные резервные копии и восстановления базы данных. WAL записывает все изменения, внесенные в базу данных. Система хранит только несколько файлов WAL и перерабатывает более старые файлы.

Создавая основное резервное копирование и храня все последующие файлы WAL, можно восстановить базу данных путем воспроизведения последовательности WAL до любой точки между тем, когда вы сделали свое основное резервное копирование и подарок. Для примера того, как сконфигурировать инкрементное резервное копирование, смотрите Непрерывную Архивацию и Восстановление момента времени (PITR).

Похожие темы