Installation

Supported Platforms

A platform (that is, a CPU architecture and operating system combination) is considered supported by the QHB development community if the code contains provisions to work on that platform and it has recently been verified to build and pass its regression tests on that platform.

The following operating systems are supported for QHB version 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
  • in docker container


Distribution Package

QHB is available as the following software packages:

  • qhb-core — QHB core;
  • qhb-contrib — QHB extensions;
  • [qcp] — connection pooler;
  • [qdl] — Fast Boot tool;
  • [qdlm] — a tool for loading of metrics data into the database;
  • [qbackup] — backup tool;
  • [metricsd] — metrics server.

Additional supplied external modules are also available:

  • [PostGIS] — GIS (Geographic Information Systems) objects (that is, spatial and geographic objects) for QHB;
  • [Patroni] — high availability cluster management;
  • [mysql_fdw] — MySQL foreign data wrapper (FDW) for QHB;
  • [Orafce] — Oracle-compatible functions and packages;
  • [pg_hint_plan] — module for tweaking execution plans using "hints";
  • [pg_repack] — module for reorganizing tables with minimal locks;
  • [pg_store_plans] — module for tracking execution plan statistics of SQL statements;
  • [pgtt] - module to create, manage and use Global Temporary Tables;
  • [plpgsql_check] — linter tool for the plpgsql;
  • [sr_plan] — module for query plans restoring management in QHB.


Installation from Package Repository

CAUTION!
If you are upgrading QHB version or migrating databases from other DBMS, see Section Installation with Upgrading instead.

This Section describes the installation of QHB from a pre-packaged distribution. You can find binary packages QHB for supported platforms on the [download page].

Standard installation procedure for QHB looks like that:


Connecting to a Repository and Package Installation

Connect package repository and install the packages for chosen platform from the [download page].


Database Cluster Initialization

Initialize the database cluster using [initdb] or [qhb_bootstrap]. In this example /opt/qhb/data is the database catalog location.

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

or

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

CAUTION!
You should run these utilities under user qhb (an owner of the instance) or execute sudo -u qhb command before that.

Note
We recommend to use qhb_bootstrap. initdb may be removed in a future version of QHB.


Service Setup

You can if needed setup the database service; see [Настройка сервиса базы данных].


Creating and Configurating a Database

Follow the instruction on creating and configurating a database; see Chapter Getting Started.


Installation with Upgrading

Upgrading QHB version and database migrating from other DBMS.

Sometimes major QHB version upgrades change the data layout of the DBMS catalogs in a way that makes it impossible for the new version to perform without data transformation of the old database.

For the purpose of that transformation [qhb_upgrade], special upgrading utility, is provided.

There is no need to run qhb_upgrade for some upgrades:

  • Upgrading the repository packages if the database wasn't created yet or you are planning to create a new database and the old one have no use for you
  • The first QHB installation
  • Database migrating via [qhb_dump] or [qhb_dumpall].

You need to use qhb_upgrade if you are planning to transfer or migrate database. The utility can upgrade data not only when QHB version is upgraded but also during migration from some PostgreSQL versions.

Some minor QHB versions don't change data layout, so no special actions are required for their installation. In this case qhb_upgrade will inform you about this.