Desde o Zabbix 5.0, o tipo de dado numérico (float) suporta precisão de aproximadamente 15 dígitos e intervalo de aproximadamente -1.79E+308 a 1.79E+308. O antigo tipo numérico foi desabilitado, mas ainda suportado. A partir do Zabbix 6.4, ele foi depreciado e, a partir do Zabbix 7.0, foi totalmente removido.
Se sua instalação não foi atualizada para usar valores numéricos de intervalo estendido, o seguinte aviso é exibido em Relatórios → Informações do sistema: "Tabelas de histórico do banco de dados atualizadas: Não. O suporte ao antigo tipo numérico está depreciado. Por favor, atualize para valores numéricos de intervalo estendido".
Ao atualizar para o Zabbix 7.0, os seguintes bancos de dados são atualizados automaticamente:
No entanto, para Oracle, versões antigas do MySQL e instalações grandes, recomenda-se atualizar o tipo de dado manualmente antes de atualizar para o Zabbix 7.0. Para instruções, consulte MySQL, PostgreSQL/TimescaleDB (sem compressão), Oracle.
Se estiver usando TimescaleDB com compressão, o banco de dados deve ser atualizado manualmente antes de atualizar para o Zabbix 7.0. Para instruções, consulte TimescaleDB (com compressão).
A partir do Zabbix 7.0, a atualização manual das tabelas para chaves primárias também atualiza as tabelas para usar tipos de dados de dupla precisão. Para instruções sobre como atualizar para chaves primárias, consulte Atualização do banco de dados para chaves primárias.
O patch de atualização altera as colunas de dados das tabelas de histórico e tendências, que geralmente contêm muitos dados; por esse motivo, a atualização pode levar algum tempo para ser concluída. A estimativa exata não pode ser prevista e depende do desempenho do servidor, da configuração e da versão do sistema de gerenciamento de banco de dados. Portanto, recomenda-se primeiro testar o patch fora do ambiente de produção. Por exemplo, com MySQL 8.0 e MariaDB 10.5 (configuração padrão), sabe-se que o patch é executado instantaneamente para tabelas grandes devido ao algoritmo eficiente e ao fato de que anteriormente o mesmo tipo double era usado, mas com precisão limitada, o que significa que os próprios dados não precisam ser modificados.
Para atualizar o MySQL, PostgreSQL/TimescaleDB (sem compressão) ou Oracle antes de atualizar para o Zabbix 7.0:
1. Pare o Zabbix server.
2. Faça backup do seu banco de dados.
3. Execute o patch apropriado (arquivo SQL) para o seu banco de dados Zabbix 6.4:
Execute os scripts apenas para o banco de dados do server. O proxy não se beneficiará desta atualização.
/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.sqlSe estiver usando fontes, consulte o patch do MySQL, PostgreSQL/TimescaleDB ou Oracle para o Zabbix 6.4 no repositório GIT do Zabbix.
4. Inicie o Zabbix server.
5. Atualize ou defina o valor do parâmetro $DB['DOUBLE_IEEE754'] como true em /ui/conf/zabbix.conf.php.
Para atualizar o TimescaleDB (com compressão) antes de atualizar para o Zabbix 7.0:
1. Desabilite a compressão do TimescaleDB no frontend do Zabbix.
2. Recarregue o cache de configuração do Zabbix server usando o controle em tempo de execução: zabbix_server -R config_cache_reload
3. Pare o Zabbix server.
4. Faça backup do seu banco de dados.
5. Execute o patch apropriado (arquivo SQL) para o TimescaleDB:
/usr/share/zabbix-sql-scripts/postgresql/double.sqlSe estiver usando os fontes, veja o patch PostgreSQL/TimescaleDB para o Zabbix 6.4 no repositório GIT do Zabbix.
6. Inicie o Zabbix server.
7. Atualize ou defina o valor do parâmetro $DB['DOUBLE_IEEE754'] para true em /ui/conf/zabbix.conf.php.