Перейти к основному содержимому

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/.