Установка

Поддерживаемые платформы

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

Для QHB версии 1.5.2 поддерживаются:

  • Centos Linux 7, x86_64
  • Centos Linux 8, x86_64
  • РЕД ОС 7, x86_64
  • Альт Сервер 8 СП
  • Альт Сервер 9, x86_64
  • Fedora 36, x86_64
  • Fedora 37, x86_64
  • Fedora 38, x86_64
  • Fedora 39, x86_64
  • Linux Debian 10, x86_64
  • Astra Linux Special Edition, «Смоленск», 1.7, x86_64
  • Ubuntu 18.04, x86_64
  • Ubuntu 22.04, x86_64
  • openSUSE Leap 15.4, x86_64
  • в docker-контейнере


Состав поставки

QHB поставляется в виде следующих пакетов:

  • qhb-core — ядро QHB;
  • qhb-contrib — расширения QHB;
  • qcp — пулер соединений;
  • qdl — средство быстрой загрузки;
  • qdlm — средство загрузки данных метрик в БД;
  • qbackup — инструмент резервного копирования;
  • metricsd — сервер метрик.

Дополнительно предоставляются пакеты внешних расширений:

  • PostGIS — Пространственные и географические объекты для QHB;
  • Patroni — Управление высокодоступными кластерами;
  • mysql_fdw — обертка внешних данных MySQL для QHB;
  • Orafce — функции совместимости и пакеты Oracle;
  • pg_hint_plan — модуль настройки планов выполнения с помощью «подсказок»;
  • pg_repack — модуль реорганизации таблиц с минимальными блокировками;
  • pg_store_plans — модуль для отслеживания статистики плана выполнения операторов SQL;
  • pgtt - модуль управления глобальными временными таблицами;
  • plpgsql_check — модуль расширенной проверки plpgsql;
  • sr_plan — модуль управления хранением планов запросов в QHB.


Установка из репозитория пакетов

ВНИМАНИЕ!
Если вы обновляете версию QHB или мигрируете базы данных с других СУБД, обратитесь к разделу Установка с обновлением.

В этой главе описывается установка QHB из предварительно упакованного дистрибутива. Двоичные пакеты QHB для поддерживаемых платформ можно найти на странице загрузки.

Стандартная процедура установки QHB выглядит так:


Подключение репозитория и установка пакетов

Подключите репозиторий пакетов и установите пакеты для выбранной платформы со страницы загрузки.


Инициализация кластера баз данных

Инициализируйте кластер баз данных при помощи утилиты initdb или qhb_bootstrap. В данном примере /opt/qhb/data — расположение каталога базы данных.

/usr/local/qhb/bin/initdb -D /opt/qhb/data -U qhb

или

/usr/local/qhb/bin/qhb_bootstrap -D /opt/qhb/data -U qhb

ВНИМАНИЕ!
Запуск утилит необходимо производить из-под пользователя qhb, владельца экземпляра, или предварять запуск командой sudo -u qhb.

Примечание
Рекомендуется пользоваться утилитой qhb_bootstrap. Утилита initdb планируется к удалению в будущих версиях QHB.


Настройка сервиса

Если необходимо, настройте сервис базы данных; см. Настройка сервиса базы данных.


Создание базы данных и конфигурирование

Следуйте инструкции по созданию и настройке базы данных; см. Начало работы.


Установка с обновлением

Обновление версии QHB и миграция баз данных с других СУБД.

При переходе с одной версии QHB к другой иногда происходят такие изменения в структурах данных каталога СУБД, которые делают невозможным функционирование новой версии без преобразования данных старой базы.

Для такого преобразования предусмотрена специальная утилита обновления экземпляра qhb_upgrade.

Некоторые обновления не требуют запуска qhb_upgrade:

  • Обновление пакетов из репозитория, если база данных еще не была создана, или планируется создание новой, а старая не важна
  • Установка QHB впервые
  • Миграция базы с помощью утилиты qhb_dump или qhb_dumpall.

Если же планируется перенос или миграция базы данных, перед обновлением нужно воспользоваться утилитой qhb_upgrade. Утилита может обновлять данные не только при обновлении версии QHB, но даже при миграции с PostgreSQL некоторых версий.

Некоторые промежуточные обновления QHB не меняют структуру данных, и их установка не требует каких-то специальных действий. В этом случае утилита qhb_upgrade сообщит об этом.