Примечание
Эта тема применяется к Polyspace® Доступ к версиям R2020a и ранее. Для версий R2020b и позже, смотрите Резервное копирование базы данных.
Чтобы создать резервное копирование вашей базы данных Access Polyspace, используйте pg_dumpall
Утилита PostgreSQL. Утилита создает дамп вашей базы данных. Можно затем восстановить состояние базы данных от того, когда дамп был создан. pg_dumpall
утилита доступна в polyspace-db
контейнер Polyspace доступ.
На основе вашего размера базы данных и частоты использования, установите политику для того, как часто вы создаете резервное копирование. Пользователи не могут взаимодействовать с Polyspace доступ, в то время как вы выполняете резервное копирование базы данных или восстановление. Прежде чем вы запустите резервное копирование или восстановите операцию, сообщите своим пользователям.
Когда вы создаете резервное копирование базы данных, pg_dumpall
утилита генерирует список команд SQL, которые вы используете, чтобы восстановить вашу базу данных. Операция резервного копирования требует привилегий суперпользователя. Привилегии установлены через PostgreSQL и отдельные от полномочий пользователя в вашей системе. Например, чтобы сгенерировать дамп базы данных и сохранить его как backup_db.sql
, откройте терминал на машине, которая размещает сервис Database, и выполните эти шаги.
Чтобы гарантировать, что ваше резервное копирование не содержит частичные или поврежденные данные, остановите 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
Сгенерируйте резервное копирование базы данных и сохраните его в 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
на больших базах данных может сгенерировать файлы, которые превышают максимальный предел размера файла на некоторых операционных системах и могут быть трудоемкими.Перезапускать сервисы Web Server и ETL.
docker start polyspace-etl polyspace-web-server
Чтобы восстановить ваши данные из резервного копирования базы данных, используйте psql
утилита. Эта утилита доступна в polyspace-db
контейнер. Операция восстанавливает данные и полномочия пользователя для проектов Access Polyspace. Например, можно восстановить базу данных от резервного копирования, сохраненного в файле backup_db.sql
. Вы завершаете некоторые шаги в интерфейсе COP. Другие шаги требуют терминала на сервере, который размещает сервис Database.
Создайте базу данных. В интерфейсе COP удалите все сервисы, затем нажмите Settings на левой панели. При настройках Database нажмите create volume рядом с полем Data volume, чтобы создать объем, затем выбрать этот объем из Data volume выпадающий список. Если вы не видите, что create volume соединяется, задайте новый путь к папке в поле Data volume. Если путь к папке не существует, COP создает его. Сохраните свои изменения.
Возвратитесь к вкладке Services, нажмите PROVISION, затем запустите только сервис Database.
Восстановите базу данных от 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
В интерфейсе COP нажмите START ALL, чтобы запустить все сервисы.
После того, как сервисы запускают, открывают интерфейс Polyspace Access в вашем веб-браузере, чтобы просмотреть проекты, которые хранились в базе данных до того, когда вы создали резервное копирование.
В качестве альтернативы можно использовать файлы журнала с упреждающей записью (WAL), чтобы выполнить инкрементные резервные копии и восстановления базы данных. WAL записывает все изменения, внесенные в базу данных. Система хранит только несколько файлов WAL и перерабатывает более старые файлы.
Создавая основное резервное копирование и храня все последующие файлы WAL, можно восстановить базу данных путем воспроизведения последовательности WAL до любой точки между тем, когда вы сделали свое основное резервное копирование и подарок. Для примера того, как сконфигурировать инкрементное резервное копирование, смотрите Непрерывную Архивацию и Восстановление момента времени (PITR).