Нужно ли переиндексировать после полного вакуума на Postgres 9.4
Я использую Postgres 9.4.
Я только что запустил вакуум. Я читал о различиях между вакуумом и полным вакуумом и много думал, если я должен запустить вакуум или полный вакуум. Насколько я могу сказать, мне требовался полный вакуум, и мой размер БД снизился с 48 ГБ до 24 ГБ.
старые индексы устарели бы после полного вакуума, и мне нужно запустить reindex?
Я побежал "вакуум полный подробный анализ", поэтому анализ делается вместе с вакуумом полный.
Я читал в нескольких местах, что для Postgres > 9.0 мне не нужно переиндексировать после полного вакуума, но я хочу быть уверен, что это так.
1 ответов
A REINDEX
сразу после VACUUM FULL
is бесполезно, потому что VACUUM FULL
сам перестраивает индексы.
это упоминается в документации 9.4 в Восстановление Дискового Пространства :
...чтобы вернуть лишнее дисковое пространство, которое она занимает, вам нужно будет использовать Вакуум полный, или альтернативно кластер или один из таблицы-переписывать варианты ALTER TABLE. Эти команды переписывают новую копию стол и построить новые индексы для него.
вы правы, что это не было до версии 9.0, которая имела VACUUM FULL
reimplemented по-разному.
до версии 8.4, ссылка doc для пылесос упоминалось о необходимости переиндексации:
полная опция не сжимает индексы; периодическое ПЕРЕИНДЕКС по-прежнему рекомендуемый. На самом деле, часто быстрее отбросить все индексы, вакуум Полный, и воссоздать индексы.
но это предостережение теперь устарело.