БД??
главное не vacuum full :)
получается что могу? я просто столкнулся с такой проблемой что удаляю данные из таблицы таким образом: DELETE FROM tablename WHERE itemid NOT IN (SELECT itemid FROM items WHERE status='90'); система пишет что удалила огромное кол-во строк но вес таблицы не меняется, нашел информацию что нужно запускать автоочистку, но не могу понять сильно ли она будет мешать системе
обычный vacuum вам место на диске не освободит. Он просто пометит tuple, как доступный к перезаписи. чтобы место освободилось, надо vacuum full, но он эксклюзивный лок на себя захватит, и у вас всё встанет на это время.
а DELETE почему тогда не может освободить место?
можете почитать про FSM в postgres
вакуум дефрагментирует видимые строки внутри страниц (мёртвые удаляет) и оттранкейтит пустые страницы в хвосте дата файлов. Последнее уменьшает размер дата файла
Обсуждают сегодня