这是原厂英文文档的翻译页面. 欢迎帮助我们 完善文档.

15 Upgrading to numeric values of extended range

Since Zabbix 5.0.0, numeric (float) data type supports precision of approximately 15 digits and range from approximately -1.79E+308 to 1.79E+308. This is implemented by default in new installations. However, when upgrading existing installations, created before Zabbix 5.0, a manual database upgrade patch must be applied.

If you do not apply the patch, System information in the frontend will display: "Database history tables upgraded: No. Support for the old numeric type is deprecated. Please upgrade to numeric values of extended range".

The patch will alter data columns of history and trends tables, which usually contain lots of data, therefore it is expected to take some time to complete. Since the exact estimate depends on server performance, database management system configuration and version, and it cannot be predicted, it is recommended to first test the patch outside the production environment, even though with MySQL 8.0 and MariaDB 10.5 configured by default the patch is known to be executed instantly for large tables due to efficient algorithm and the fact that previously the same double type was used but with limited precision, meaning that data itself does not need to be modified.

Please execute the appropriate patch (SQL file) for your database:

  • database/mysql/double.sql
  • database/postgresql/double.sql
  • database/oracle/double.sql

Note that when upgrading using packages, you may find these scripts in the Zabbix Git repository for:

Important! Run these scripts for the server database only.

To apply a patch:

  • Stop Zabbix server.
  • Run the script for your database.
  • Start Zabbix server again.

Note that with TimescaleDB the compression support must only be turned on after applying this patch.

After upgrading database tables, please also set or update $DB['DOUBLE_IEEE754'] value to true in /ui/conf/zabbix.conf.php.