Оптимизировать эффективность Polyspace® База данных Access, выполните регулярную базу данных, очищают операции, такие как уборка пылесосом и удаление старых или устаревших проектов. Рекомендуется, чтобы вы поддержали свою базу данных, прежде чем вы выполните операцию уборки. Смотрите Создают Резервное копирование базы данных.
Когда строка обновлена или удалена в таблице базы данных, она физически не удалена из таблицы, потому что другие транзакции базы данных могут все еще использовать старую версию строки. Чтобы исправить дисковое пространство старых строк, которые больше не используются никакой транзакцией базы данных, используйте PostgreSQL vacuumdb команда. Уборка пылесосом базы данных регулярно препятствует тому, чтобы ваше дисковое пространство базы данных стало слишком большим или фрагментированным.
Прежде чем вы выполните вакуумную операцию, гарантируете, что никакие пользователи не соединяются с Polyspace, доступ затем останавливает сервисы Polyspace Access ETL и Polyspace Access Web Server. Чтобы остановить сервисы, от терминала на сервере, размещающем эти сервисы, используют эту команду и ввод:
docker stop polyspace-access-etl-main polyspace-access-web-server-mainЧтобы пропылесосить вашу базу данных Access Polyspace, откройте терминал на сервере, размещающем вашу базу данных, и войдите:
docker exec polyspace-access-db-main vacuumdb -U postgres prs_data
Можно также запустить vacuumdb команда и использование --analyze опция, чтобы обновить статистику сервера PostgreSQL. Откройте терминал на сервере, размещающем вашу базу данных, и войдите:
docker exec polyspace-access-db-main vacuumdb -U postgres --analyze prs_data
Чтобы минимизировать размер ваших таблиц базы данных и возвратить неиспользуемое место в операционную систему, запустите vacuumdb при помощи --full опция. Откройте терминал на сервере, размещающем вашу базу данных, и войдите:
docker exec polyspace-access-db-main vacuumdb -U postgres --full prs_data
Установите политику для того, как часто вы хотите выполнить постоянного клиента и полный вакуум. Например, выполните регулярный вакуум еженедельно.
После того, как вы завершаете вакуумную операцию, перезапускаете сервисы Polyspace Access ETL и Polyspace Access Web Server. Используйте эту команду:
docker start polyspace-access-etl-main polyspace-access-web-server-mainКогда пользователи удаляют проекты из Project Explorer Polyspace доступ к веб-интерфейсу, проекты перемещаются в папку ProjectsWaitingForDeletion. Проекты, включая все запуски, которые вы загрузили на проекты, остаются в базе данных, пока вы явным образом не удаляете их.
Папка ProjectsWaitingForDeletion отображается только Пользователям доступа Polyspace, у которых есть роль Administrator. Даже пользователи, у которых есть роль Administrator, не могут удалить проекты из интерфейса Polyspace Access.
Задайте политику для того, как часто вы удаляете более старые проекты или запуски проекта от базы данных. Автоматизируйте эту операцию при помощи скрипта. Можно удалить более старые результаты, даже если они не находятся в папке ProjectsWaitingForDeletion.
Чтобы удалить старые запуски проекта или целые проекты от вашей базы данных, напишите команду в текстовом файле, который вы сохраняете как .pscauto файл. Запустите команду путем копирования .pscauto файл к Storage directory сервиса Polyspace Access ETL. Только пользователь, у которого есть привилегии записи на Storage directory, может выполнить эту операцию.
Чтобы удалить запуски проекта из проекта, но не самого проекта, используйте clean_project команда. Задайте путь к проекту одним из этих параметров команды.
clean_project projectPath DATE YYYY-MM-DDYYYY-MM-DD.clean_project projectPath MAXRUNS NNNNNN целое число. Команда сохраняет NNN новые запуски. Чтобы удалить все запуски проекта, используйте MAXRUNS 0.clean_project projectPath AGE DDDDDD номер дней. Чтобы удалить недавно загруженные результаты, используйте эту опцию. Команда удаляет запуски проекта, которые являются более старыми, чем DDD дни.
Чтобы полностью удалить проект из базы данных Access Polyspace, используйте delete_project команда и задает путь к проекту:
delete_project projectPathprojectPath весь путь к проекту в Polyspace доступ к Project Explorer. Чтобы получить путь к проекту, используйте контекстное меню в Project Explorer или, в командной строке, используйте polyspace-access двоичный файл с -list-project флаг. Для получения дополнительной информации смотрите polyspace-access -h -list-project.
Если путь содержит пробельные символы, заключите путь к проекту в двойные кавычки. Если вы используете echo чтобы записать команды в файл, необходимо также использовать "\"символ, чтобы выйти из пробельных символов в пути к проекту.
Например, чтобы выполнить одноразовую очистку проекта public/Bug_Finder_Example (Bug Finder) и удалите все результаты, загруженные перед определенной датой:
Откройте текстовый редактор, вставьте эту команду, затем сохраните файл как .pscauto файл, например, cleanup.pscauto.
clean_project "public/Bug_Finder_Example (Bug Finder)" DATE 2019-09-01Скопируйте файл в Storage directory сервиса Polyspace Access ETL, например:
cp cleanup.pscauto /local/ACCESS/install_dir/appdata/polyspace-access/storagesettings.json файл путем поиска etlStorageDir. Все аналитические запуски, загруженные, чтобы спроектировать public/Bug_Finder_Example (Bug Finder) до 1 сентября 2019 удалены из базы данных.
Можно также выполнить автоматическую очистку на определенном проекте каждый раз, когда вы загружаете запуск на тот проект. Чтобы сохранить только 10 новых запусков каждым разом, вы загружаете результат на public/Bug_Finder_Example (Bug Finder), сохраните эти команды в свой .pscauto файл.
assign_to_project "public/Bug_Finder_Example (Bug Finder)" AFTER_STATISTICS myScript
clean_project "public/Bug_Finder_Example (Bug Finder)" MAXRUNS 10assign_to_project линия хранится внутренне в скрипте myScript это присвоено проекту public/Bug_Finder_Example (Bug Finder). Используйте отличные имена для внутреннего скрипта, который вы присваиваете различным проектам. Вы задаете внутреннее имя скрипта последним параметром assign_to_project команда. После того, как вы скопируете файл в Storage directory сервиса Polyspace Access ETL, автоматическая очистка запускается.Чтобы выключить автоматическую очистку, сохраните эту команду в .pscauto файл и копия, что файл к Storage directory:
unassign_to_project "public/Bug_Finder_Example (Bug Finder)" myScriptassign_to_project команда. Убедитесь, что вы ведете учет внутренних имен скрипта и проектов, которым они присвоены.Внимание
Вы не можете восстановить данные, которые вы удаляете при помощи .pscauto скрипт, если у вас нет резервной копии данных.