Как узнать, запущена ли автоочистка в Windows Server 2003 для моей базы данных PGSQL?
-
19-09-2019 - |
Вопрос
до появления 8.x я запускал множество баз данных PGSQL в Linux и очищал базу данных явно с помощью сценария обслуживания.
Когда появилась версия 8.x, я не стал переходить на автоочистку в этих системах на том основании, что она работает нормально, поэтому не нужно ничего менять.Так что я не эксперт по автовакууму.
Теперь, в эпоху после 8.x, я обнаружил, что некоторые базы данных PGSQL работают на Windows Server 2003 или новее.
Похоже на автовакуум должен работать, потому что мы следовали инструкциям и оставили его включенным в файле .conf.
Однако подключение PGAdmin к базе данных предлагает нам запустить VACUUM.
Как узнать, запущен ли демон автоочистки, заботится о ваших базах данных и правильно их очищает?
Решение
В pg_stat_user_tables есть столбцы, в которых указано, когда в таблице выполнялась последняя автоочистка и автоанализ — это хорошая отправная точка.И, конечно же, файл журнала будет содержать информацию о том, что делает автоочистка.
Вы можете просмотреть процессы postgres.exe с помощью такого инструмента, как Process Explorer.Будет создан мьютекс, специально названный для эмуляции информации командной строки ps, доступной в Unix.Его должно быть легко найти.И вы можете просто поискать «автоочистка», чтобы убедиться, что она работает.