Pular para o conteúdo principal

Visão geral

Como parte das configurações, o ClickHouse oferece a possibilidade de impor restrições à complexidade das consultas. Isso ajuda a proteger contra consultas potencialmente intensivas em recursos, garantindo uma execução mais segura e previsível, especialmente na interface do usuário. Quase todas as restrições se aplicam apenas a consultas SELECT e, no processamento distribuído de consultas, elas são aplicadas separadamente em cada servidor. Em geral, o ClickHouse verifica as restrições somente depois que as partes de dados são totalmente processadas, em vez de verificá-las para cada linha. Isso pode levar a situações em que as restrições sejam violadas enquanto a parte está sendo processada.

Configurações de overflow_mode

A maioria das restrições também tem uma configuração overflow_mode, que define o que acontece quando o limite é excedido e pode assumir um de dois valores:
  • throw: gera uma exceção (padrão).
  • break: interrompe a execução da consulta e retorna o resultado parcial, como se os dados de origem tivessem se esgotado.

Configurações de group_by_overflow_mode

A configuração group_by_overflow_mode também aceita o valor any:
  • any : continua a agregação das chaves que entraram no conjunto, mas não adiciona novas chaves ao conjunto.

Lista de configurações

As configurações a seguir são usadas para aplicar restrições à complexidade das consultas.
As restrições de “quantidade máxima de algo” podem ter o valor 0, o que significa “sem restrição”.

Configurações obsoletas

As configurações abaixo estão obsoletas

max_pipeline_depth

Profundidade máxima do pipeline. Corresponde ao número de transformações pelas quais cada bloco de dados passa durante o processamento da consulta. A contagem é feita dentro dos limites de um único servidor. Se a profundidade do pipeline exceder esse valor, uma exceção será lançada.
Última modificação em 1 de julho de 2026