Управление автоматическим обслуживанием базы данных

Автоматическая сборка мусора включена в PostgreSQL 9.0 по умол­чанию и в целом хорошо делает свою работу. Однако «в целом» не означает «полностью», так как невозможно предугадать все желания пользователя, например каждый раз выбирать наилучшее время вы­полнения работ по обслуживанию базы данных. Если процесс autovacuum запущен, он будет автоматически «просы­паться» каждые autovacuum_naptime секунд и определять, запускать ЛИ команды VACUUM и/или ANALYZE. Одновременно могут работать не более чем autovacuum_max_ workers процессов обслуживания. Эти процессы, зависимые от autovacuun, выполняя ввод-вывод, накапливают очки стоимости, пока количество очков не достигнет autovacuum_vacuum_cost_iimit, после чего процессы «засыпают» на время, равное Autovacuum_vacuum_cost_ delay. Таким образом контролируется потребление ресурсов и пре­дотвращается монополизация процессом Autovacuum Всего дискового ввода-вывода. Увеличивая время Autovacuum_vacuum_cost_deiay, Мы замедляем работу vacuum, чтобы не снизить влияние на работу базы данных. Процесс Autovacuum Выполнит команду Analyze, Если сделано хотя бы Autovacuum_analyze_threshold Изменений и обновлено столько записей относительно общего количества записей в таблице, сколько определяется параметром Autovacuum_ analyze_scale_factor. Процесс Autovacuum Выполнит команду Vacuum, Если произведено хотя бы AutovacuutL_vacuum_threshoid Изменений и обновлено столько записей относительно общего количества записей в таблице, сколько определяется параметром Autovacuum_ Если задать параметр iog_autovacuum_min_duration, TO каждый раз, когда процесс Autovacuum Будет выполняться дольше установленного значения, это будет отражаться в логе сервера примерно так: Большая часть вышеприведенных глобальных параметров может быть также установлена для конкретных таблиц. Допустим, процесс сборки мусора не должен затрагивать таблицу Big_tabie. Для этого надо выполнить следующее:



Рубрика: Женский интерес

Комментарии закрыты.