pg_repack помогает уменьшить избыточность в PostgreSQL без блокировок

08.07.2024

Пользователи PostgreSQL часто сталкиваются с проблемой разрастания базы данных, что может значительно ухудшить производительность. Традиционные методы, такие как VACUUM FULL и CLUSTER, могут быть довольно разрушительными, но pg_repack предлагает онлайн-решение, которое минимизирует время простоя. Здесь мы рассмотрим установку и настройку pg_repack на PostgreSQL 14, работающем на Red Hat Enterprise Linux 9 (RHEL 9).

Что такое pg_repack?

pg_repack — это расширение PostgreSQL, предназначенное для устранения разрастания таблиц и индексов. В отличие от CLUSTER и VACUUM FULL, pg_repack работает онлайн, не требуя эксклюзивной блокировки обрабатываемых таблиц, что делает его более эффективным и менее навязчивым вариантом.

Установка

  1. Загрузка RPM-пакета
    Сначала загрузите RPM-пакет pg_repack для PostgreSQL 14 на RHEL 9:
    wget https://download.postgresql.org/pub/repos/yum/14/redhat/rhel-9-x86_64/pg_repack_14-1.5.0-1PGDG.rhel9.x86_64.rpm
  2. Установка RPM-пакета
    Затем установите загруженный RPM-пакет:
    rpm -iv pg_repack_14-1.5.0-1PGDG.rhel9.x86_64.rpm
  3. Проверка установки
    Проверьте установку, перечислив файлы, включенные в пакет:
    rpm -ql pg_repack_14-1.5.0-1PGDG.rhel9.x86_64.rpm | grep bin
    Альтернативно, используйте команду find для поиска бинарного файла pg_repack:
    find / -name pg_repack
  4. Обновление переменной окружения PATH
    Добавьте каталог bin PostgreSQL в ваш PATH:
    export PATH=$PATH:/usr/pgsql-14/bin
    Сделайте это изменение постоянным, добавив его в ваш файл ~/.bashrc:
    echo 'export PATH=$PATH:/usr/pgsql-14/bin' >> ~/.bashrc
    source ~/.bashrc

Настройка

  1. Создание расширения
    Подключитесь к вашей базе данных PostgreSQL и создайте расширение pg_repack:
    psql -c "CREATE EXTENSION pg_repack" -d employee
  2. Проверка доступности pg_repack
    Чтобы убедиться, что pg_repack доступен, перечислите бинарные файлы PostgreSQL:
    pg_re
    Вы должны увидеть pg_repack среди других бинарных файлов PostgreSQL:
    pg_receivewal   pg_recvlogical  pg_repack       pg_resetwal     pg_restore      pg_rewind
    Если вы его не видите, возможно, вы забыли выполнить команду source ~/.bashrc.

Использование

Основное использование
Чтобы упаковать конкретную базу данных (например, employee), используйте следующую команду:

pg_repack -d employee

Расширенные опции
pg_repack предлагает несколько опций для настройки своего поведения. Вот некоторые полезные из них:

  • Упаковка всех баз данных:
    pg_repack -a
  • Упаковка конкретной таблицы:
    pg_repack -t table_name -d employee
  • Упаковка таблиц в определенной схеме:
    pg_repack -s schema_name -d employee
  • Перемещение упакованных таблиц в новое пространство таблиц:
    pg_repack -T new_tablespace -d employee
  • Сортировка по определенным столбцам:
    pg_repack -o column_name -d employee

Для полного списка опций обратитесь к справке по pg_repack:

pg_repack --help

Самые популярные для Desktop

uTorrent

uTorrent

Полная версия uTorrent скачать бесплатно на windows и андроид

5
1032 отзывы
6545470
скачали
Zona

Zona

Полная версия Zona скачать бесплатно на windows и андроид

4
614 отзывы
1336441
скачали
WinRAR

WinRAR

Полная версия WinRAR скачать бесплатно на windows и андроид

5
735 отзывы
521260
скачали
Майнкрафт

Майнкрафт

Полная версия Minecraft скачать бесплатно на windows и андроид

5
750 отзывы
456684
скачали

Новости и обзоры для Desktop

Восстановлены лифты в Mass Effect 3 от моддера Linkenski

Моддер Linkenski добавил лифты в Mass Effect 3 Legendary Edition, улучшив опыт игроков.

Читать далее

Новый DLC Alloyed Collective для Risk of Rain 2 на Steam

Аллойед Коллектив добавляет новых выживших и этапы в Risk of Rain 2. Выпущен 2025-11-18 на Steam компанией Gearbox.

Читать далее

Demonschool: Обзор и производственные недостатки RPG

Demonschool: стратегия и тактика в актёрском ансамбле, но с проблемами производительности. Публикация: Ysbryd Games.

Читать далее

Ubisoft прогнозирует снижение продаж в Великобритании

Ubisoft ожидает падение физических продаж в Великобритании. Это связано с изменением предпочтений игроков в сторону подписок и live-сервисов.

Читать далее

Ошибки в обновлении KB5068861 для Windows 11

Обновление KB5068861 для Windows 11 вводит новые ошибки. Пользователи могут столкнуться с проблемами установки и поиска файлов.

Читать далее

Проблемы с регистрацией ESU в Windows 10 решены

Пользователи Windows 10 могут зарегистрироваться для ESU до 2026 г. после устранения проблем с регистрацией.

Читать далее

Arc Raiders: Дружелюбие на ПК против PS5

Игроки Arc Raiders изучили поведение на ПК и PS5. Эксперимент показал больше враждебности на PS5.

Читать далее

PlayerUnknown выбирает независимость от генеративного ИИ

PlayerUnknown Productions отказывается от генеративного ИИ в пользу машинного обучения. Влияние минимальное. Дата выхода Prologue Go Wayback: 2023-11-20.

Читать далее

Copilot обрабатывает локальные файлы в Windows 11

Copilot в Windows 11 теперь взаимодействует с локальными файлами, выполняя сложные задачи. Изменения распространяются среди участников Windows Insiders.

Читать далее

The Game Awards: объявлены номинанты 2025 года

The Game Awards 2025 объявили номинантов на 'Игру года', включая Clair Obscur и Death Stranding 2, что привлекло большое внимание.

Читать далее