Desde Zabbix 5.0, el tipo de datos numérico (float) admite una precisión de aproximadamente 15 dígitos y un rango de aproximadamente -1,79E+308 a 1,79E+308. El tipo numérico antiguo se deshabilitó, pero aún se admite. A partir de Zabbix 6.4, quedó obsoleto y, a partir de Zabbix 7.0, se eliminó por completo.
Si su instalación no se actualizó para usar valores numéricos de rango extendido, se muestra la siguiente advertencia en Informes → Información del sistema: "Tablas de historial de la base de datos actualizadas: No. La compatibilidad con el tipo numérico antiguo está obsoleta. Actualice a valores numéricos de rango extendido".
Al actualizar a Zabbix 7.0, las siguientes bases de datos se actualizan automáticamente:
Sin embargo, para Oracle, versiones anteriores de MySQL e instalaciones grandes, se recomienda actualizar el tipo de datos manualmente antes de actualizar a Zabbix 7.0. Para obtener instrucciones, consulte MySQL, PostgreSQL/TimescaleDB (sin compresión), Oracle.
Si usa TimescaleDB con compresión, la base de datos debe actualizarse manualmente antes de actualizar a Zabbix 7.0. Para obtener instrucciones, consulte TimescaleDB (con compresión).
Desde Zabbix 7.0, la actualización manual de las tablas a claves primarias también actualiza las tablas para usar tipos de datos de precisión doble. Para obtener instrucciones sobre cómo actualizar a claves principales, consulte Actualización de la base de datos a claves principales.
El parche de actualización altera las columnas de datos de las tablas de historial y tendencias, que normalmente contienen una gran cantidad de datos; por este motivo, la actualización puede tardar un tiempo en completarse. No se puede predecir la estimación exacta y depende del rendimiento del servidor, la configuración y la versión del sistema de administración de bases de datos. Por lo tanto, se recomienda probar primero el parche fuera del entorno de producción. Por ejemplo, con MySQL 8.0 y MariaDB 10.5 (configuración predeterminada), se sabe que el parche se ejecuta instantáneamente para tablas grandes debido al algoritmo eficiente y al hecho de que anteriormente se usaba el mismo tipo doble pero con precisión limitada, lo que significa que no es necesario modificar los datos en sí.
Para actualizar MySQL, PostgreSQL/TimescaleDB (sin compresión) u Oracle antes de actualizar a Zabbix 7.0:
1. Detenga el servidor Zabbix.
2. Realice una copia de seguridad de su base de datos.
3. Ejecute el parche apropiado (archivo SQL) para su base de datos Zabbix 6.4:
Ejecute los scripts solo para la base de datos del servidor. El proxy no se beneficiará de esta actualización.
/usr/share/zabbix-sql-scripts/mysql/double.sql
/usr/share/zabbix-sql-scripts/postgresql/double.sql
(para PostgreSQL/TimescaleDB)/usr/share/zabbix-sql-scripts/oracle/double.sql
Si usa fuentes, consulte la Parche MySQL, PostgreSQL/TimescaleDB, o parche Oracle para Zabbix 6.4 en el repositorio GIT de Zabbix.
4. Inicie el servidor Zabbix.
5. Actualice o configure el valor del parámetro $DB['DOUBLE_IEEE754']
en true
en /ui/conf/zabbix.conf.php
.
Para actualizar TimescaleDB (con compresión) antes de actualizar a Zabbix 7.0:
1. Desactive la compresión de TimescaleDB en la interfaz de Zabbix.
2. Vuelva a cargar la caché de configuración del servidor Zabbix usando el control de tiempo de ejecución: zabbix_server -R config_cache_reload
3. Detenga el servidor Zabbix.
4. Realice una copia de seguridad de su base de datos.
5. Ejecute el parche apropiado (archivo SQL) para TimescaleDB:
/usr/share/zabbix-sql-scripts/postgresql/double.sql
Si usa fuentes, consulte el parche PostgreSQL/TimescaleDB para Zabbix 6.4 en el repositorio GIT de Zabbix.
6. Inicie el servidor Zabbix.
7. Actualice o configure el valor del parámetro $DB['DOUBLE_IEEE754']
en true
en /ui/conf/zabbix.conf.php
.