[comment]: # translation:outdated

[comment]: # ({98c082ce-98c082ce})
# 5 Налаштування TimescaleDB

[comment]: # ({/98c082ce-98c082ce})

[comment]: # ({acb21280-acb21280})
#### Огляд

Zabbix підтримує TimescaleDB, базу даних на базі PostgreSQL, яка автоматично розбиває дані на фрагменти, що базуються на часовому діапазоні, для підтримки більшої продуктивності в масштабі.

::: приміткапопередження
Наразі TimescaleDB не підтримується проксі Zabbix.
:::

Інструкції на цій сторінці можна використовувати для створення бази даних TimescaleDB або міграції з існуючих таблиць PostgreSQL до TimescaleDB.

[comment]: # ({/acb21280-acb21280})

[comment]: # ({new-f731725c})
#### Configuration

We assume that TimescaleDB extension has been already installed on the
database server (see [installation
instructions](https://docs.timescale.com/latest/getting-started/installation)).

TimescaleDB extension must also be enabled for the specific DB by
executing:

    echo "CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;" | sudo -u postgres psql zabbix

Running this command requires database administrator privileges.

::: noteclassic
If you use a database schema other than 'public' you need to
add a SCHEMA clause to the command above. E.g.:\
`echo "CREATE EXTENSION IF NOT EXISTS timescaledb SCHEMA yourschema CASCADE;" | sudo -u postgres psql zabbix`
:::

Then run the `timescaledb.sql` script located in database/postgresql.
For new installations the script must be run after the regular
PostgreSQL database has been created with initial schema/data (see
[database creation](/manual/appendix/install/db_scripts)):

    zcat /usr/share/doc/zabbix-sql-scripts/postgresql/timescaledb.sql.gz | sudo -u zabbix psql zabbix

The migration of existing history and trend data may take a lot of time.
Zabbix server and frontend must be down for the period of migration.

The `timescaledb.sql` script sets the following housekeeping parameters:

-   Override item history period
-   Override item trend period

In order to use partitioned housekeeping for history and trends, both
these options must be on. It's possible to use TimescaleDB partitioning
only for trends (by setting *Override item trend period*) or only for
history (*Override item history period*).

For PostgreSQL version 10.2 or higher and TimescaleDB version 1.5 or
higher, the `timescaledb.sql` script sets two additional parameters:

-   Enable compression
-   Compress records older than 7 days

All of these parameters can be changed in *Administration* → *General* →
*Housekeeping* after the installation.

::: notetip
You may want to run the timescaledb-tune tool provided
by TimescaleDB to optimize PostgreSQL configuration parameters in your
`postgresql.conf`.
:::

[comment]: # ({/new-f731725c})

[comment]: # ({001b0edd-60e46db2})
Стиснення можна використовувати, лише якщо ввімкнено параметри *Перевизначити період історії елементів* і *Перевизначити період трендів елементів*. Якщо перевизначення вимкнено, а таблиці мають стислі фрагменти, економ не видалятиме дані з цих таблиць, а на екрані адміністрування відображатимуться попередження про неправильну конфігурацію для
[*Housekeeping*] /manual/web_interface/frontend_sections/administration/general#housekeeper) і розділ [*System information*](/manual/web_interface/frontend_sections/reports/status_of_zabbix).

[comment]: # ({/001b0edd-60e46db2})

[comment]: # ({186af4bf-8c3a80a9})
Усі ці параметри можна змінити в *Адміністрування* → *Загальні* → *Домашнє обслуговування* після встановлення.

::: notetip
Ви можете запустити інструмент timescaledb-tune, наданий TimescaleDB, щоб оптимізувати параметри конфігурації PostgreSQL у вашому `postgresql.conf`.
:::

[comment]: # ({/186af4bf-8c3a80a9})

[comment]: # ({abc931f6-2012f0a6})
#### Стиснення TimescaleDB

Власне стиснення TimescaleDB підтримується, починаючи з Zabbix 5.0 для PostgreSQL версії 10.2 або новішої та TimescaleDB версії 1.5 або новішої для всіх таблиць Zabbix, якими керує TimescaleDB. Під час оновлення або міграції до TimescaleDB початкове стиснення великих таблиць може зайняти багато часу.

Зауважте, що стиснення підтримується згідно з ліцензією Timescale Community "timescale" і не підтримується ліцензією "apache" Apache 2.0. Починаючи з Zabbix 6.0.7, Zabbix визначає, чи підтримується стиснення. Якщо він не підтримується, у журналі сервера Zabbix записується попереджувальне повідомлення, і користувачі не можуть увімкнути стиснення у інтерфейсі.

::: підказка
Перед використанням стиснення користувачам рекомендується ознайомитися з документацією щодо стиснення [TimescaleDB](https://docs.timescale.com/latest/using-timescaledb/compression).
:::

Зауважте, що стиснення накладає певні обмеження, а саме:

- Модифікації стисненого блоку (вставки, видалення, оновлення) заборонені
- Зміни схеми для стиснутих таблиць не допускаються.

Параметри стиснення можна змінити в блоці *Стиснення історії та тенденцій* у розділі *Адміністрування* → *Загальні* → *Коммертичність* інтерфейсу Zabbix.

|Параметр|За умовчанням|Коментарі|
|--|--|------|
|*Увімкнути стиснення*|Увімкнено|Установка або зняття прапорця не активує/дезактивує стиснення негайно. Оскільки стиснення обробляється Housekeeper, зміни набудуть чинності через 2 години `HousekeepingFrequency` (встановлено в [zabbix\_server.conf](/manual/appendix/config/zabbix_server))<br><br>Після вимкнувши стиснення, нові шматки, які потрапляють у період стиснення, не будуть стиснуті. Однак усі попередньо стиснуті дані залишаться стиснутими. Щоб розпакувати попередньо стиснуті фрагменти, дотримуйтесь інструкцій у документації [TimescaleDB](https://docs.timescale.com/latest/using-timescaledb/compression).<br><br>Під час оновлення старіших версій Zabbix із підтримкою TimescaleDB, стиснення не буде ввімкнено за замовчуванням.|
|*Стискати записи, старші за*|7d|Цей параметр не може бути меншим за 7 днів.<br><br>Через незмінність стиснених фрагментів усі запізнілі дані (наприклад, дані, затримані проксі-сервером), старші за це значення, будуть викинутий.|

[comment]: # ({/abc931f6-2012f0a6})
