Как я могу узнать, работает ли autovacuum на Windows Server 2003 для моей базы данных PGSQL?

В дни до 8.x я запустил множество баз данных PGSQL в Linux и явно очистил базу данных с помощью сценария обслуживания.

Когда вышел 8.x, я не перешел на автовакуум на этих системах, потому что он работал нормально, поэтому не нужно ничего менять. Так что я не эксперт по автовакууму.

Сейчас, в эпоху после 8.x, я нахожусь с некоторыми базами данных PGSQL, работающими на Windows Server 2003 или новее.

Похоже, что autovacuum должен работать, потому что мы следовали инструкциям и оставили его включенным в файле.conf.

Однако подключение PGAdmin к базе данных подсказывает нам, что мы должны запустить VACUUM.

Как вы можете определить, работает ли демон autovacuum, присматривает ли он за вашими базами данных и правильно ли очищает их?

1 ответ

Решение

В pg_stat_user_tables есть столбцы, в которых указывается, когда последний автоматический вакуум и автоматический анализ выполнялись для таблицы - это хорошая отправная точка. И, конечно, лог-файл будет содержать информацию о том, что делает автовакуум.

Вы можете посмотреть на процессы postgres.exe с помощью такого инструмента, как Process Explorer. Будет мьютекс, специально названный так, чтобы эмулировать информацию командной строки ps, доступную в Unix. Это должно быть легко найти. И вы можете просто найти "autovacuum", чтобы убедиться, что он работает.

Другие вопросы по тегам