LINUX.ORG.RU
решено ФорумAdmin

Как убрать блоат с таблиц postgres

 , , ,


0

1

Доброго дня! Подскажите пожалуйста, как возможно почистить раздутые таблицы в postgreSQL есть альтернатива VACUUM FULL он лочит таблицы, pgrepack не предлагать не подойдет, pg_repack требует признак уникальности, что неприменимо для history* таблиц.

Ответ на: комментарий от troy856

это просто скрипт на perl установки как таковой нет, места сверх уже потребленного практически не требует. Работает крайне неспешно, но работает

Bloody ★★
()
Ответ на: комментарий от Bloody

Т.е. если я это скрипт на боевой тачке применю? ничего не отвалится? Прост нужно место высвободить, а то таблицы расбухли. Поэтому уточняю какие еще инструменты есть..

А скрипт отсюда же могу взять? https://github.com/dataegret/pgcompacttable/blob/master/bin/pgcompacttable

Ок, спасибо.

troy856
() автор топика
Последнее исправление: troy856 (всего исправлений: 1)
Ответ на: комментарий от Bloody

Не подскажите как вообще этот скрипт работает? Проверил на тестовый тачке базу весом 10GB он освободил 2GB, но при этом в процессе съел 8GB, все же она потребляет...

troy856
() автор топика
Ответ на: комментарий от troy856

Скрипт обновляет строки, не обновляя их фактически. Слегка шевелит, заставляя постгрес записывать их в освобождённые блоки. По идее подьедамый объем зависит от количества устаревших странице и их размещения

Bloody ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.