[Перевод] Одна ошибка с индексами Postgres, из‑за которой растут WAL и нагрузка на запись
Конспект редакции
Почему «битый» индекс в Postgres — не безобидный мусор, а источник лишней нагрузки на запись и разрастания WAL, и как от него избавиться.
Материал разбирает частую, но недооценённую проблему в PostgreSQL: когда CREATE INDEX CONCURRENTLY или REINDEX INDEX CONCURRENTLY завершаются ошибкой, СУБД оставляет невалидный индекс (invalid index). Многие инженеры считают такие объекты безвредными заготовками, которые не используются планировщиком и просто занимают место. На деле же они продолжают участвовать в обслуживании — в частности, увеличивают объём WAL-логов и вызывают лишнюю нагрузку на запись при любых изменениях в таблице.
На примерах показано, как невидимый глазу «мусорный» индекс может незаметно деградировать производительность базы данных, особенно на запись-интенсивных нагрузках. Автор объясняет физические причины роста WAL и даёт практические рекомендации: не игнорировать упавшие индексы, немедленно удалять их через DROP INDEX CONCURRENTLY и мониторить состояние всех индексов в кластере. Для профессионалов киноиндустрии, работающих с большими каталогами контента, трекинг-системами и стриминговыми платформами, эта статья — техминимум по профилактике проблем с производительностью баз данных.
Материал агрегирован; полный текст — на сайте Хабр — ИТ-новости.
Фото (7)
Увеличить1 / 7


