Резервное копирование базы данных

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

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

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

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

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

    docker stop polyspace-access-etl-main polyspace-access-web-server-main

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

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

  3. Если вы завершаете свое резервное копирование, используйте эту команду, чтобы перезапустить сервисы Polyspace Access Web Server и Polyspace Access ETL.

    docker start polyspace-access-etl-main polyspace-access-web-server-main

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

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

  1. Остановите сервисы Polyspace Access Web Server и Polyspace Access ETL. В терминале введите эту команду:

    docker stop polyspace-access-etl-main polyspace-access-web-server-main

  2. Удалите папку, которая хранит базу данных Access Polyspace, и затем перезапустите сервис Polyspace Access Database.

    sudo rm -rf databaseFolderPath
    docker restart polyspace-access-db-main
    databaseFolderPath путь к папке, что вы задаете в поле Data volume сервиса Polyspace Access Database в Администраторе Cluster Settings, например:

    /local/Polyspace/R2020b/appdata/polyspace-access/db

    Если вы задаете имя тома вместо пути к папке в поле Data volume, например, polyspace-data, используйте эти команды, чтобы остановить сервис базы данных, удалить объем, создать новый объем и перезапустить сервис базы данных:

    docker stop polyspace-access-db-main
    docker volume rm polyspace-data
    docker volume create polyspace-data
    docker restart polyspace-access-db-main

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

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

  4. В интерфейсе Cluster Admin нажмите Restart Apps, чтобы запустить все сервисы.

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

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

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

Похожие темы