У меня огромная (~ 150 ГБ) база данных postgresql, производительность которой упала за последние недели. Чтобы повысить производительность, я намерен выполнить ПОЛНЫЙ ВАКУУМ, КЛАСТЕР и АНАЛИЗИРОВАТЬ.
В каком порядке выполнять эти операции? Я не возражаю против времени, необходимого для выполнения, только улучшения производительности базы данных.
Спасибо,
Уди
Вам следует никогда запустите VACUUM FULL, если вы об этом говорите.
Вам следует регулярно запускать VACUUM и ANALYZE для всех баз данных. Здесь проще всего запустить VACUUM ANALYZE как одну команду, которая выполнит их обе - это также будет быстрее.
Если, конечно, вы не можете использовать автоочистку. Если вы используете версию 8.3 или новее, в большинстве случаев это будет рекомендацией. Тогда вы не будете запускать его без надобности.
Вам не следует запускать CLUSTER для всего в базе данных только потому, что вы можете. Если у вас есть определенные таблицы, запустите его там. Но для большинства рабочих нагрузок обычный КЛАСТЕР вообще не нужен - и уж точно не для всех таблиц.
Таблицы, в которых вы запускаете CLUSTER, не нуждаются в VACUUM.