Как я могу узнать, работает ли autovacuum на Windows Server 2003 для моей базы данных PGSQL? - PullRequest
10 голосов
/ 08 января 2010

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

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

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

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

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

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

1 Ответ

10 голосов
/ 08 января 2010

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

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

...