Оптимизировать эффективность 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-DD
YYYY-MM-DD
.clean_project projectPath MAXRUNS NNN
NNN
целое число. Команда сохраняет NNN
новые запуски. Чтобы удалить все запуски проекта, используйте MAXRUNS 0
.clean_project projectPath AGE DDD
DDD
номер дней. Чтобы удалить недавно загруженные результаты, используйте эту опцию. Команда удаляет запуски проекта, которые являются более старыми, чем DDD
дни.
Чтобы полностью удалить проект из базы данных Access Polyspace, используйте delete_project
команда и задает путь к проекту:
delete_project projectPath
projectPath
весь путь к проекту в 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/storage
settings.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 10
assign_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)" myScript
assign_to_project
команда. Убедитесь, что вы ведете учет внутренних имен скрипта и проектов, которым они присвоены.Внимание
Вы не можете восстановить данные, которые вы удаляете при помощи .pscauto
скрипт, если у вас нет резервной копии данных.