Назад | Перейти на главную страницу

Как мне узнать, действительно ли работает автовакуум в postgres 8.3?

У меня есть пара баз данных postgres 8.3, и они показывают симптомы отсутствия очистки.

Я проверил конфигурацию, и они находятся в состоянии по умолчанию, когда включен автопылесос. Кроме того, при запуске базы данных я вижу в журналах postgres «автоочистка запущена».

Проблема в том, что я никогда не видел работающего пылесоса. Я также никогда не вижу ничего в журналах о том, что происходит вакуум (должен ли я что-то видеть?)

Итак, как мне узнать, работает ли пылесос? Есть ли способ узнать, например, когда закончился последний пылесос? А еще лучше, есть ли какая-нибудь документация, на которую кто-нибудь может указать мне ответ на этот вопрос?

Спасибо!

pg_stat_user_tables имеет столбцы last_autovacuum и last_autoanalyze. Они будут обновляться всякий раз, когда он что-то делает.

На более высоком уровне, Щелчок твой друг ;-)

Вот пример последний отчет о вакууме

Google - ваш друг, а www.postgresql.org даже лучше:

18.9. Автоматическая уборка

log_autovacuum_min_duration (целое число)

Заставляет регистрировать каждое действие, выполняемое автоочисткой, если оно выполнялось не менее указанного количества миллисекунд. Установка этого значения в ноль регистрирует все действия автоочистки. Минус-один (по умолчанию) отключает ведение журнала действий автоочистки. Например, если вы установите это значение на 250 мс, тогда все автоматические откачки и анализы, которые выполняются 250 мс или дольше, будут регистрироваться. Включение этого параметра может быть полезно при отслеживании активности автоочистки. Этот параметр можно установить только в файле postgresql.conf или в командной строке сервера.