pgcompacttable. Реорганизации данных в таблицах и перестройка индексов#

Версия: 1.0.10.

В исходном дистрибутиве установлено по умолчанию: да.

Связанные компоненты: модуль pgcompacttable написан на языке Perl, поэтому для работы требует библиотеки Perl DBI с модулем поддержки PostgreSQL:

Схема размещения: не используется.

Утилита pgcompacttable - это инструмент для уменьшения размера «раздутых» таблиц и индексов без тяжелых блокировок.

Модуль предназначен для реорганизации данных в таблицах и перестроения индексов для того, чтобы освободить место на диске без ущерба для производительности базы данных.

Модуль может быть запущен от имени любого пользователя ОС, в том числе на другом хосте (вариант с ключом --host).

Фрагментация: pg_repack и pgcompacttable#

В процессе работы с Pangolin возникает table bloat — ситуация, при которой данные таблиц будут храниться неэффективно. Они фрагментируются, что приводит к ухудшению производительности и нерациональному использованию места на диске.

Основные причины фрагментации:

  • непредвиденный скачок запросов UPDATE или DELETE;

  • долгие транзакции, препятствующие удалению старых версий записей (VACUUM не может удалить запись, если есть хотя бы одна незакрытая транзакция старше запроса, удалившего или изменившего эту запись);

  • долгие транзакции, препятствующие удалению старых версий записей (VACUUM не может удалить запись, если есть хотя бы одна незакрытая транзакция старше запроса, удалившего или изменившего эту запись);

  • незавершенные PREPARED транзакции;

  • накопление остатков удаленных записей большого размера при работе с типами данных переменной длины.

Доработка#

Доработка не проводилась.

Ограничения#

Ограничения отсутствуют.

Установка#

Установка утилиты в документе «Руководство администратора», раздел «Сценарии администрирования», подраздел «Инструмент pgcompacttable».

Расширение установлено по умолчанию.

Настройка#

Настройка не требуется.

Использование модуля#

Подробное описание в документе «Руководство администратора», раздел «Сценарии администрирования», подраздел «Инструмент pgcompacttable».

Ссылки на документацию разработчика#

Утилита pgcompacttable: https://github.com/dataegret/pgcompacttable.