Безопасно ли включать автовакуум для таблицы в PostgreSQL
Я новичок в PostgreSQL
(Версия 9.2) Разработка базы данных. Просматривая одну из моих таблиц, увидел опцию под названием autovaccum
,
во многих моих таблицах содержится более 20000 строк. Для целей тестирования я изменил одну из этих таблиц, как показано ниже
ALTER TABLE theTable SET (
autovacuum_enabled = true
);
- Итак, я хотел бы знать преимущества / преимущества / недостатки (если таковые имеются) автопылесосом стол?
1 ответ
Автовакуумный режим включен по умолчанию в текущих версиях Postgres (и некоторое время назад). Как правило, это полезно для производительности и по другим причинам.
Перед автовакуумированием вам нужно было бы явно пропылесосить таблицы самостоятельно (через cronjobs, которые выполняли команды psql для их очистки или тому подобное), чтобы избавиться от мертвых кортежей и т. Д. Postgres некоторое время управлял этим для вас через автовакуум.
В некоторых случаях я имел дело с таблицами, которые имеют огромный отток (то есть, очень высокий уровень вставок и удалений), что было необходимо по-прежнему явно вакуумировать через cron, чтобы поддерживать низкий уровень мертвых кортежей и высокую производительность, потому что autovacuum не ' достаточно быстро, но это нишевый случай.
Дополнительная информация: http://www.postgresql.org/docs/current/static/runtime-config-autovacuum.html