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 отзывы
6897827
скачали
Zona

Zona

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

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

WinRAR

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

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

Майнкрафт

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

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

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

Разработчик Shrine's Legacy отвергает обвинения в использовании ИИ

Positive Concept Games отрицает обвинения в использовании ИИ для Shrine's Legacy, заявив, что игра создавалась вручную.

Читать далее

Sworn: обновление 1.1 и скидка на Steam

Sworn обновление 1.1 добавляет трех новых боссов. Игра со скидкой 50% на Steam до 2025-12-18.

Читать далее

Коммерческий успех Commander Keen сменил рынок

Commander Keen, 1989 год, вдохновил Джона Кармака и других создать id Software после роста продаж.

Читать далее

Предзаказы Hytale открыты, релиз игры в 2026 году

Hytale запускает предзаказы перед релизом 2026-01-13. Моддеры уже работают, чтобы привлечь новую аудиторию.

Читать далее

Phoenix Point: обновление Firebird представлено

Обновление Firebird для Phoenix Point улучшает баланс и прогрессию в игре, снижая стоимость и время исследований. Акция на Steam до 18.12.

Читать далее

Колодостроительная игра получила 91% на Steam и доступна по выгодной цене

Колодостроительная игра от Mash стартовала на Steam с рейтингом 91%. Поклонники жанра порадуются ценам до 2025-12-25.

Читать далее

Эмуляция Windows 3.1 теперь доступна в браузере

Windows 3.1 теперь можно запускать в эмуляторе от Джеффа Парсонса прямо в браузере. Погрузитесь в атмосферу эпохи с полным набором приложений.

Читать далее

Скидки на Doom Eternal и другие игры в бандле Fanatical

Fanatical предлагает бандл игр с Doom Eternal, доступен до 2025-01-08. Скидки зависят от количества игр.

Читать далее

Лучшие игры 2025 года по версии Windows Central

Windows Central представила топ-10 игр 2025 года, включая инди, AAA-релизы и экспериментальные проекты.

Читать далее

Серия игр Divinity от Larian: Чего ожидать

Larian возвращается к миру Divinity после Baldur's Gate 3. Чего ожидать от игр серии и как они влияют на новое RPG?

Читать далее