[comment]: # ({cef53b6f-af4f2bd3})
# 15 Aktualizacja do wartości numerycznych o rozszerzonym zakresie

[comment]: # ({/cef53b6f-af4f2bd3})

[comment]: # ({3066d4fa-5b80659b})
#### Przegląd

Od Zabbix 5.0 typ danych numerycznych (float) obsługuje precyzję około 15 cyfr oraz zakres od około -1.79E+308 do 1.79E+308.
Stary typ numeryczny był wyłączony, ale nadal obsługiwany. Od Zabbix 6.4 był przestarzały, a począwszy od Zabbix 7.0 został całkowicie usunięty.

Jeśli w Twojej instalacji nie przeprowadzono aktualizacji do używania wartości numerycznych o rozszerzonym zakresie, w sekcji *Reports* → [*System information*](/manual/web_interface/frontend_sections/reports/status_of_zabbix) wyświetlane jest następujące ostrzeżenie:
"Database history tables upgraded: No. Support for the old numeric type is deprecated. Please upgrade to numeric values of extended range".

Podczas aktualizacji do Zabbix 7.0 następujące bazy danych są aktualizowane **automatycznie**:

-   MySQL
-   PostgreSQL/TimescaleDB (without compression)
-   Oracle

Jednak w przypadku Oracle, starszych wersji MySQL oraz dużych instalacji zaleca się ręczną aktualizację typu danych przed uaktualnieniem do Zabbix 7.0.
Instrukcje znajdują się w sekcji [MySQL, PostgreSQL/TimescaleDB (without compression), Oracle](#mysql-postgresqltimescaledb-without-compression-oracle).

W przypadku używania TimescaleDB z kompresją baza danych musi zostać zaktualizowana **ręcznie** przed uaktualnieniem do Zabbix 7.0.
Instrukcje znajdują się w sekcji [TimescaleDB (with compression)](#timescaledb-with-compression).

::: noteimportant
Od Zabbix 7.0 ręczna aktualizacja tabel do kluczy głównych powoduje również aktualizację tabel do używania typów danych double precision.
Instrukcje dotyczące aktualizacji do kluczy głównych znajdują się w sekcji [Database upgrade to primary keys](/manual/appendix/install/db_primary_keys).
:::

[comment]: # ({/3066d4fa-5b80659b})

[comment]: # ({b84906aa-b38f7275})
#### MySQL, PostgreSQL/TimescaleDB (bez kompresji), Oracle

Aktualizacja zmienia kolumny danych w tabelach history i trends, które zwykle zawierają dużo danych; z tego powodu ukończenie aktualizacji może zająć trochę czasu.
Dokładny czas nie może zostać przewidziany i zależy od wydajności serwera, konfiguracji i wersji systemu zarządzania bazą danych.
Dlatego zaleca się najpierw przetestować poprawkę poza środowiskiem produkcyjnym.
Na przykład w przypadku MySQL 8.0 i MariaDB 10.5 (domyślna konfiguracja) wiadomo, że poprawka jest wykonywana natychmiast dla dużych tabel dzięki wydajnemu algorytmowi oraz temu, że wcześniej używany był ten sam typ double, ale o ograniczonej precyzji, co oznacza, że same dane nie muszą być modyfikowane.

Aby zaktualizować MySQL, PostgreSQL/TimescaleDB (bez kompresji) lub Oracle przed aktualizacją do Zabbix 7.0:

1\. Zatrzymaj serwer Zabbix.

2\. Wykonaj kopię zapasową bazy danych.

3\. Uruchom odpowiednią poprawkę (plik SQL) dla bazy danych Zabbix 6.4:

::: notewarning
Uruchamiaj skrypty tylko dla bazy danych serwera. proxy nie skorzysta z tej aktualizacji.
:::

-   `/usr/share/zabbix-sql-scripts/mysql/double.sql`
-   `/usr/share/zabbix-sql-scripts/postgresql/double.sql` (dla PostgreSQL/TimescaleDB)
-   `/usr/share/zabbix-sql-scripts/oracle/double.sql`

Jeśli używasz źródeł, zobacz poprawkę [MySQL](https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/database/mysql/option-patches/double.sql?at=refs%2Fheads%2Frelease%2F6.4),
[PostgreSQL/TimescaleDB](https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/database/postgresql/option-patches/double.sql?at=refs%2Fheads%2Frelease%2F6.4)
lub [Oracle](https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/database/oracle/option-patches/double.sql?at=refs%2Fheads%2Frelease%2F6.4) dla Zabbix 6.4 w repozytorium Zabbix GIT.

4\. Uruchom serwer Zabbix.

5\. Zaktualizuj lub ustaw wartość parametru `$DB['DOUBLE_IEEE754']` na `true` w `/ui/conf/zabbix.conf.php`.

[comment]: # ({/b84906aa-b38f7275})

[comment]: # ({b2e1d022-d656bdeb})
#### TimescaleDB (z kompresją)

Aby zaktualizować TimescaleDB (z kompresją) przed uaktualnieniem do Zabbix 7.0:

1\. Wyłącz [kompresję TimescaleDB](/manual/appendix/install/timescaledb#timescaledb-compression) w frontendzie Zabbix.

2\. Przeładuj pamięć podręczną konfiguracji serwera Zabbix za pomocą [runtime control](/manual/concepts/server#runtime-control): `zabbix_server -R config_cache_reload`

3\. Zatrzymaj serwer Zabbix.

4\. Wykonaj kopię zapasową bazy danych.

5\. Uruchom odpowiednią poprawkę (plik SQL) dla TimescaleDB:

-   `/usr/share/zabbix-sql-scripts/postgresql/double.sql`

Jeśli korzystasz z kodu źródłowego, zobacz poprawkę [PostgreSQL/TimescaleDB](https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/database/postgresql/option-patches/double.sql?at=refs%2Fheads%2Frelease%2F6.4) dla Zabbix 6.4 w repozytorium Zabbix GIT.

6\. Uruchom serwer Zabbix.

7\. Zaktualizuj lub ustaw wartość parametru `$DB['DOUBLE_IEEE754']` na `true` w `/ui/conf/zabbix.conf.php`.

[comment]: # ({/b2e1d022-d656bdeb})
