Как делаете периодическое обслуживание PostgreSQL, если у вас есть большие базы с большими таблицами на сотни ГБ?
Как делаете периодическое обслуживание PostgreSQL, если у вас есть большие базы с большими таблицами на сотни ГБ?
Например, 700Гб база, в которой одна из таблиц 600Гб, свободного места около 350Гб.
Под периодическим обслуживанием я подразумеваю vacuum, reindex, analyze
Под периодическим обслуживанием я подразумеваю vacuum, reindex, analyze
А зачем?
Обратите внимание: это вопрос от postgresql DBA. Да, у нас есть таблицы и на несколько террабайт.
После нормальной настройки автовакуума под железо (вместо дефолтных настроек под любую кофеварку) с вакуумом и analyze нормально справляется автовакуум.
Вместо reindex - pgcompacttable, pg_repack, да хоть вручную или каким-нибудь своим скриптом create index concurrently + drop index concurrently
Партиционирование с ротацией старых данных в другой тейблспейс, LVM, предварительная оценка нужного для базы количества места. На крайний случай - работы по внедрению всего этого с даунтаймом.
Что вы под обслуживанием подразумеваете, вообще? Обновление версии?