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.3:
- Centos Linux 7, x86_64
- Centos Linux 8, x86_64
- РЕД ОС 7, x86_64
- РЕД ОС 8, x86_64
- ROSA CHROME SERVER 12.6
- Альт Сервер 8 СП
- Альт Сервер 9, x86_64
- Fedora 36, x86_64
- Fedora 37, x86_64
- Fedora 38, x86_64
- Fedora 39, x86_64
- Fedora 40, x86_64
- Fedora 41, x86_64
- Fedora 42, x86_64
- Linux Debian 10, x86_64
- Linux Debian 12, x86_64
- Astra Linux Special Edition, «Смоленск», 1.7, x86_64
- Astra Linux Special Edition, «Смоленск», 1.8, x86_64
- Ubuntu 18.04, x86_64
- Ubuntu 22.04, x86_64
- Ubuntu 24.04, x86_64
- openSUSE Leap 15.4, x86_64
- MosOS 15.5, 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 metric data into the database;
- qbackup — backup tool;
- metricsd — metric server;
- QLUSTER — Cluster Computing Management Module;
- QMAN — application for monitoring and managing QHB instances.
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
WARNING!
If you are upgrading QHB version or migrating databases from other DBMS, see Section Installation with Updating 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
WARNING!
You should run these utilities under user qhb (an owner of the instance) or executesudo -u qhbcommand 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 Chapter Starting and Stopping a Server Using systemd Service.
Creating and Configurating a Database
Follow the instruction on creating and configurating a database; see Chapter Getting Started.
Installation with Updating
Updating QHB version and database migrating from other DBMS.
Sometimes major QHB version updates 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 updating utility, is provided.
There is no need to run qhb_upgrade for some updates:
- Updating 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 update data not only when QHB version is updated 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.