pgcompacttable. Реорганизации данных в таблицах и перестройка индексов#
Версия: 1.0.10.
В исходном дистрибутиве установлено по умолчанию: да.
Связанные компоненты: модуль
pgcompacttableнаписан на языке Perl, поэтому для работы требует библиотеки Perl DBI с модулем поддержки PostgreSQL:
perl-Time-HiRes;
perl-DBI;
perl-DBD-Pg;Схема размещения: не используется.
Утилита pgcompacttable - это инструмент для уменьшения размера «раздутых» таблиц и индексов без тяжелых блокировок.
Модуль предназначен для реорганизации данных в таблицах и перестроения индексов для того, чтобы освободить место на диске без ущерба для производительности базы данных.
Модуль может быть запущен от имени любого пользователя ОС, в том числе на другом хосте (вариант с ключом --host).
Фрагментация: pg_repack и pgcompacttable#
В процессе работы с Pangolin возникает table bloat — ситуация, при которой данные таблиц будут храниться неэффективно. Они фрагментируются, что приводит к ухудшению производительности и нерациональному использованию места на диске.
Основные причины фрагментации:
непредвиденный скачок запросов
UPDATEилиDELETE;долгие транзакции, препятствующие удалению старых версий записей (VACUUM не может удалить запись, если есть хотя бы одна незакрытая транзакция старше запроса, удалившего или изменившего эту запись);
долгие транзакции, препятствующие удалению старых версий записей (
VACUUMне может удалить запись, если есть хотя бы одна незакрытая транзакция старше запроса, удалившего или изменившего эту запись);незавершенные
PREPAREDтранзакции;накопление остатков удаленных записей большого размера при работе с типами данных переменной длины.
Доработка#
Доработка не проводилась.
Ограничения#
Ограничения отсутствуют.
Установка#
Установка утилиты в документе «Руководство администратора», раздел «Сценарии администрирования», подраздел «Инструмент pgcompacttable».
Расширение установлено по умолчанию.
Настройка#
Настройка не требуется.
Использование модуля#
Подробное описание в документе «Руководство администратора», раздел «Сценарии администрирования», подраздел «Инструмент pgcompacttable».
Ссылки на документацию разработчика#
Утилита pgcompacttable: https://github.com/dataegret/pgcompacttable.