pg_repack. Реорганизация таблиц с минимальными блокировками#

Версия: 1.4.7.

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

Связанные компоненты: отсутствуют.

Схема размещения: ext.

Модуль предназначен для выполнения реорганизации таблиц с минимальными блокировками, а также для опционального восстановления физического порядка кластерных индексов. Это позволяет минимизировать эффект так называемого «раздувания» таблиц (англ. «bloat»).

Описание расширения приведено в документе «Руководство администратора», раздел «Сценарии администрирования», подраздел «Расширение pg_repack»;

Доработка#

Доработка: Добавление расширения pg_repack в состав дистрибутива PostgreSQL Sber Edition для обеспечения возможности реорганизации таблиц без блокировки.

Версия: 4.3.0.

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

  1. Отсутствие ограничений на работу с диском и возможности распределить нагрузку приводит к значительной нагрузке на диск и падению производительности при работе с большими таблицами (падение сравнимо с вызовом полного копирования таблицы);

  2. Во время работы забивается журнал предзаписи (WAL, Write-Ahead Logging), что приводит к задержке между лидером кластера и репликой. Результатом этого может стать падение сущности PostgreSQL. При обработке больших таблиц рекомендуется отключить слот репликации на время работы утилиты;

  3. Для реорганизации требуется дополнительное место на диске, равное сумме размера оригинальной таблицы, размера индексов и размера таблицы с логами. При небольшой нагрузке размером логов можно пренебречь.

Установка#

Описание установки расширения в документе «Руководство по установке», раздел «Установка», подраздел «Расширение pg_repack».

Настройка#

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

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

С перечнем опций в рамках использования модуля можно ознакомиться на сайте pg_repack в разделе «Usage».

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

Дополнительно поставляемый модуль pg_repack: https://reorg.github.io/pg_repack/.