> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# configurações de sessão max_*

> Configurações de sessão do ClickHouse no grupo gerado max_*.

export const SettingsInfoBlock = ({type, default_value, changeable_without_restart}) => {
  return <div className="not-prose" style={{
    display: "flex",
    flexWrap: "wrap",
    alignItems: "baseline",
    columnGap: "0.5rem",
    rowGap: "0.125rem",
    margin: "0.375rem 0",
    fontSize: "0.8125rem",
    lineHeight: "1.125rem"
  }}>
      <div style={{
    fontWeight: 600,
    opacity: 0.72
  }}>Tipo</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{type}</div>
      <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>Padrão</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{default_value}</div>
      {changeable_without_restart && <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>
          Pode ser alterado sem reiniciar
        </div>}
      {changeable_without_restart && <div style={{
    overflowWrap: "anywhere"
  }}>
          {changeable_without_restart}
        </div>}
    </div>;
};

export const ExperimentalBadge = () => {
  return <div className="experimentalBadge">
            <div className="experimentalIcon">
            <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path strokeWidth="1.25" d="M5.5 2H10.5" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path strokeWidth="1.25" d="M9.50015 2V6.19625L13.4283 12.7425C13.4738 12.8183 13.4985 12.9049 13.4996 12.9934C13.5008 13.0818 13.4785 13.169 13.435 13.246C13.3914 13.323 13.3283 13.3871 13.2519 13.4317C13.1755 13.4764 13.0886 13.4999 13.0002 13.5H3.00015C2.91164 13.5 2.8247 13.4766 2.74822 13.432C2.67174 13.3874 2.60847 13.3233 2.56487 13.2463C2.52126 13.1693 2.49889 13.082 2.50004 12.9935C2.50119 12.905 2.52582 12.8184 2.5714 12.7425L6.50015 6.19625V2" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path strokeWidth="1.25" d="M4.47656 9.56754C5.30344 9.41254 6.47656 9.47942 7.99969 10.25C10.0153 11.2707 11.4216 11.0569 12.2184 10.7282" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
            </svg>
        </div>
            Recurso experimental. <u><a href="/docs/docs/beta-and-experimental-features#experimental-features">Saiba mais.</a></u>
        </div>;
};

Essas configurações estão disponíveis em [system.settings](/docs/pt-BR/reference/system-tables/settings) e são geradas automaticamente a partir do [código-fonte](https://github.com/ClickHouse/ClickHouse/blob/master/src/Core/Settings.cpp).

<div id="max_analyze_depth">
  ## max\_analyze\_depth
</div>

<SettingsInfoBlock type="UInt64" default_value="5000" />

Número máximo de análises executadas pelo interpretador.

<div id="max_autoincrement_series">
  ## max\_autoincrement\_series
</div>

<SettingsInfoBlock type="UInt64" default_value="1000" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "1000"},{"label": "Nova configuração"}]}]} />

O limite para o número de séries criadas pela função `generateSerialID`.

Como cada série representa um nó no Keeper, recomenda-se não ter mais do que alguns milhões delas.

<div id="max_backup_bandwidth">
  ## max\_backup\_bandwidth
</div>

<SettingsInfoBlock type="UInt64" default_value="0" />

A velocidade máxima de leitura, em bytes por segundo, de um backup específico no servidor. Zero significa sem limite.

<div id="max_block_size">
  ## max\_block\_size
</div>

<SettingsInfoBlock type="NonZeroUInt64" default_value="65409" />

No ClickHouse, os dados são processados em blocos, que são conjuntos de partes de colunas. Os ciclos internos de processamento de um único bloco são eficientes, mas há custos perceptíveis ao processar cada bloco.

A configuração `max_block_size` indica o número máximo recomendado de linhas a incluir em um único bloco ao carregar dados de tabelas. Blocos do tamanho de `max_block_size` nem sempre são carregados da tabela: se o ClickHouse determinar que menos dados precisam ser recuperados, um bloco menor será processado.

O tamanho do bloco não deve ser muito pequeno, para evitar custos perceptíveis ao processar cada bloco. Ele também não deve ser muito grande, para garantir que consultas com uma cláusula LIMIT sejam executadas rapidamente após o processamento do primeiro bloco. Ao definir `max_block_size`, o objetivo deve ser evitar consumir memória demais ao extrair um grande número de colunas em múltiplas threads e preservar pelo menos alguma localidade de cache.

<div id="max_columns_to_read">
  ## max\_columns\_to\_read
</div>

<SettingsInfoBlock type="UInt64" default_value="0" />

O número máximo de colunas que podem ser lidas de uma tabela em uma única consulta.
Se uma consulta exigir a leitura de mais colunas do que o número especificado, uma exceção
será lançada.

<Tip>
  Essa configuração é útil para evitar consultas complexas demais.
</Tip>

O valor `0` significa sem limite.

<div id="max_compress_block_size">
  ## max\_compress\_block\_size
</div>

<SettingsInfoBlock type="UInt64" default_value="1048576" />

O tamanho máximo dos blocos de dados não comprimidos antes de serem comprimidos para gravação em uma tabela. Por padrão, 1.048.576 (1 MiB). Especificar um tamanho de bloco menor geralmente resulta em uma taxa de compressão ligeiramente menor; a velocidade de compressão e descompressão aumenta um pouco devido à melhor localidade de cache, e o consumo de memória é reduzido.

<Note>
  Esta é uma configuração para especialistas, e você não deve alterá-la se estiver apenas começando a usar o ClickHouse.
</Note>

Não confunda blocos usados para compressão (um bloco de memória composto por bytes) com blocos usados no processamento de consultas (um conjunto de linhas de uma tabela).

<div id="max_consume_snapshots">
  ## max\_consume\_snapshots
</div>

<ExperimentalBadge />

<SettingsInfoBlock type="UInt64" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.5"},{"label": "0"},{"label": "Nova configuração."}]}]} />

Número máximo de snapshots do Paimon consumidos por leitura incremental. 0 significa sem limite.

<div id="max_estimated_execution_time">
  ## max\_estimated\_execution\_time
</div>

<SettingsInfoBlock type="Segundos" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.1"},{"label": "0"},{"label": "Separados max_execution_time e max_estimated_execution_time"}]}]} />

Tempo máximo estimado de execução da consulta, em segundos. É verificado em cada bloco de dados
quando [`timeout_before_checking_execution_speed`](/docs/pt-BR/reference/settings/session-settings/other#timeout_before_checking_execution_speed)
expira.

<div id="max_expanded_ast_elements">
  ## max\_expanded\_ast\_elements
</div>

<SettingsInfoBlock type="UInt64" default_value="500000" />

Tamanho máximo da árvore de sintaxe da consulta, em número de nós, após a expansão de aliases e do asterisco.

<div id="max_fetch_partition_retries_count">
  ## max\_fetch\_partition\_retries\_count
</div>

<SettingsInfoBlock type="UInt64" default_value="5" />

Número de tentativas ao buscar uma partição de outro host.

<div id="max_final_threads">
  ## max\_final\_threads
</div>

<SettingsInfoBlock type="MaxThreads" default_value="auto(N)" />

Define o número máximo de threads paralelas para a fase de leitura de dados da consulta `SELECT` com o modificador [FINAL](/docs/pt-BR/reference/statements/select/from#final-modifier).

Valores possíveis:

* Inteiro positivo.
* 0 ou 1 — desativado. As consultas `SELECT` são executadas em uma única thread.

<div id="max_http_get_redirects">
  ## max\_http\_get\_redirects
</div>

<SettingsInfoBlock type="UInt64" default_value="0" />

Número máximo de saltos de redirecionamento HTTP GET permitidos. Garante medidas adicionais de segurança para impedir que um servidor malicioso redirecione suas requisições para serviços inesperados.\n\nIsso acontece quando um servidor externo redireciona para outro endereço, mas esse endereço parece ser interno à infraestrutura da empresa e, ao enviar uma requisição HTTP para um servidor interno, você poderia acessar uma API interna pela rede interna, contornando a autenticação, ou até mesmo consultar outros serviços, como Redis ou Memcached. Quando você não tem uma infraestrutura interna (incluindo algo em execução no seu localhost) ou confia no servidor, é seguro permitir redirecionamentos. No entanto, tenha em mente que, se a URL usar HTTP em vez de HTTPS, você terá de confiar não apenas no servidor remoto, mas também no seu provedor de internet e em todas as redes intermediárias.

Valor padrão no Cloud: `10`.

<div id="max_limit_for_vector_search_queries">
  ## max\_limit\_for\_vector\_search\_queries
</div>

<SettingsInfoBlock type="UInt64" default_value="1000" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.5"},{"label": "1000"},{"label": "Nova configuração"}]}]} />

Consultas SELECT com LIMIT maior que esta configuração não podem usar índices de similaridade vetorial. Isso ajuda a evitar estouros de memória nesses índices.

<div id="max_number_of_partitions_for_independent_aggregation">
  ## max\_number\_of\_partitions\_for\_independent\_aggregation
</div>

<SettingsInfoBlock type="UInt64" default_value="128" />

Número máximo de partições em uma tabela para aplicar a otimizaçã

<div id="max_os_cpu_wait_time_ratio_to_throw">
  ## max\_os\_cpu\_wait\_time\_ratio\_to\_throw
</div>

<SettingsInfoBlock type="Float" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.5"},{"label": "0"},{"label": "Os valores da configuração foram alterados e o backport foi aplicado à 25.4"}]}, {"id": "row-2","items": [{"label": "25.4"},{"label": "0"},{"label": "Nova configuração"}]}]} />

Razão máxima entre os tempos de espera da CPU do SO (métrica OSCPUWaitMicroseconds) e de atividade (métrica OSCPUVirtualTimeMicroseconds) para considerar a rejeição de consultas. A interpolação linear entre a razão mínima e a máxima é usada para calcular a probabilidade; nesse ponto, a probabilidade é 1.

<div id="max_parallel_replicas">
  ## max\_parallel\_replicas
</div>

<SettingsInfoBlock type="NonZeroUInt64" default_value="1000" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "1000"},{"label": "Usa, por padrão, até 1000 réplicas paralelas."}]}]} />

O número máximo de réplicas para cada shard ao executar uma consulta.

Valores possíveis:

* Inteiro positivo.

**Informações adicionais**

Esta opção pode produzir resultados diferentes, dependendo das configurações usadas.

<div id="parallel-processing-using-sample-key">
  ### Processamento em paralelo usando a chave `SAMPLE`
</div>

Uma consulta pode ser processada mais rapidamente se for executada em vários servidores em paralelo. Mas o desempenho da consulta pode piorar nos seguintes casos:

* A posição da chave de amostragem na chave de particionamento não permite leituras por intervalo eficientes.
* Adicionar uma chave de amostragem à tabela torna menos eficiente a filtragem por outras colunas.
* A chave de amostragem é uma expressão com cálculo custoso.
* A distribuição de latência do cluster tem uma cauda longa, de modo que consultar mais servidores aumenta a latência geral da consulta.

<div id="parallel-processing-using-parallel_replicas_custom_keyreferencesettingssession-settingsparallel-replicasparallel_replicas_custom_key">
  ### Processamento em paralelo com [parallel\_replicas\_custom\_key](/docs/pt-BR/reference/settings/session-settings/parallel-replicas#parallel_replicas_custom_key)
</div>

Essa configuração é útil para qualquer tabela replicada.

<div id="max_parsing_threads">
  ## max\_parsing\_threads
</div>

<SettingsInfoBlock type="MaxThreads" default_value="auto(N)" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.4"},{"label": "0"},{"label": "Adiciona uma configuração separada para controlar o número de threads no parsing em paralelo de arquivos"}]}]} />

O número máximo de threads para fazer o parsing de dados em formatos de entrada com suporte a parsing em paralelo. Por padrão, ele é determinado automaticamente.

<div id="max_partition_size_to_drop">
  ## max\_partition\_size\_to\_drop
</div>

<SettingsInfoBlock type="UInt64" default_value="50000000000" />

Restrição para remover partições em tempo de consulta. O valor `0` significa que é possível remover partições sem nenhuma restrição.

Valor padrão no Cloud: 1 TB.

<Note>
  Essa configuração de consulta substitui a configuração equivalente no servidor; consulte [max\_partition\_size\_to\_drop](/docs/pt-BR/reference/settings/server-settings/settings#max_partition_size_to_drop)
</Note>

<div id="max_parts_to_move">
  ## max\_parts\_to\_move
</div>

<SettingsInfoBlock type="UInt64" default_value="1000" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.10"},{"label": "1000"},{"label": "Nova configuração"}]}]} />

Limita o número de partes que podem ser movidas em uma única consulta. Zero significa sem limite.

<div id="max_projection_rows_to_use_projection_index">
  ## max\_projection\_rows\_to\_use\_projection\_index
</div>

<SettingsInfoBlock type="UInt64" default_value="1000000" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.11"},{"label": "1000000"},{"label": "Nova configuração"}]}]} />

Se o número de linhas a serem lidas do índice de projeção for menor ou igual a esse limite, o ClickHouse tentará usar o índice de projeção durante a execução da consulta.

<div id="max_query_size">
  ## max\_query\_size
</div>

<SettingsInfoBlock type="UInt64" default_value="262144" />

O número máximo de bytes de uma string de consulta analisada pelo parser SQL.
Os dados na cláusula VALUES de consultas INSERT são processados por um parser de fluxo separado (que consome O(1) de RAM) e não são afetados por essa restrição.

<Note>
  `max_query_size` não pode ser definido em uma consulta SQL (por exemplo, `SELECT now() SETTINGS max_query_size=10000`) porque o ClickHouse precisa alocar um buffer para analisar a consulta, e o tamanho desse buffer é determinado pela configuração `max_query_size`, que deve ser definida antes da execução da consulta.
</Note>

<div id="max_recursive_cte_evaluation_depth">
  ## max\_recursive\_cte\_evaluation\_depth
</div>

<SettingsInfoBlock type="UInt64" default_value="1000" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.4"},{"label": "1000"},{"label": "Profundidade máxima de avaliação de CTEs recursivas"}]}]} />

Profundidade máxima de avaliação de CTEs recursivas

<div id="max_replica_delay_for_distributed_queries">
  ## max\_replica\_delay\_for\_distributed\_queries
</div>

<SettingsInfoBlock type="UInt64" default_value="300" />

Desabilita réplicas defasadas para consultas distribuídas. Consulte [Replication](/docs/pt-BR/reference/engines/table-engines/mergetree-family/replication).

Define o tempo em segundos. Se a defasagem de uma réplica for maior ou igual ao valor definido, essa réplica não será usada.

Valores possíveis:

* Inteiro positivo.
* 0 — A defasagem das réplicas não é verificada.

Para impedir o uso de qualquer réplica com defasagem diferente de zero, defina este parâmetro como 1.

Usado ao executar `SELECT` em uma tabela distribuída que aponta para tabelas replicadas.

<div id="max_reverse_dictionary_lookup_cache_size_bytes">
  ## max\_reverse\_dictionary\_lookup\_cache\_size\_bytes
</div>

<SettingsInfoBlock type="UInt64" default_value="104857600" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.12"},{"label": "104857600"},{"label": "Nova configuração. Tamanho máximo, em bytes, do cache por consulta para lookup reverso em Dicionário usado pela função `dictGetKeys`. O cache armazena tuplas de chave serializadas por valor de atributo para evitar percorrer novamente o dicionário na mesma consulta."}]}]} />

Tamanho máximo, em bytes, do cache por consulta para lookup reverso em Dicionário usado pela função `dictGetKeys`. O cache armazena tuplas de chave serializadas por valor de atributo para evitar percorrer novamente o dicionário na mesma consulta. Quando o limite é atingido, as entradas são removidas usando LRU. Defina como 0 para desativar o cache.

<div id="max_sessions_for_user">
  ## max\_sessions\_for\_user
</div>

<SettingsInfoBlock type="UInt64" default_value="0" />

Número máximo de sessões simultâneas por usuário autenticado no servidor ClickHouse.

Exemplo:

```xml theme={null}
<profiles>
    <single_session_profile>
        <max_sessions_for_user>1</max_sessions_for_user>
    </single_session_profile>
    <two_sessions_profile>
        <max_sessions_for_user>2</max_sessions_for_user>
    </two_sessions_profile>
    <unlimited_sessions_profile>
        <max_sessions_for_user>0</max_sessions_for_user>
    </unlimited_sessions_profile>
</profiles>
<users>
    <!-- User Alice can connect to a ClickHouse server no more than once at a time. -->
    <Alice>
        <profile>single_session_user</profile>
    </Alice>
    <!-- User Bob can use 2 simultaneous sessions. -->
    <Bob>
        <profile>two_sessions_profile</profile>
    </Bob>
    <!-- User Charles can use arbitrarily many of simultaneous sessions. -->
    <Charles>
        <profile>unlimited_sessions_profile</profile>
    </Charles>
</users>
```

Valores possíveis:

* Inteiro positivo
* `0` - número infinito de sessões simultâneas (padrão)

<div id="max_subquery_depth">
  ## max\_subquery\_depth
</div>

<SettingsInfoBlock type="UInt64" default_value="100" />

Se uma consulta tiver mais do que o número especificado de subconsultas aninhadas, uma
exceção será lançada.

<Tip>
  Isso permite fazer uma verificação de segurança para evitar que os usuários do seu
  cluster escrevam consultas excessivamente complexas.
</Tip>

<div id="max_table_size_to_drop">
  ## max\_table\_size\_to\_drop
</div>

<SettingsInfoBlock type="UInt64" default_value="50000000000" />

Restrição à exclusão de tabelas durante a execução da consulta. O valor `0` significa que é possível excluir todas as tabelas sem nenhuma restrição.

Valor padrão no Cloud: 1 TB.

<Note>
  Esta configuração de consulta substitui a configuração equivalente do servidor; consulte [max\_table\_size\_to\_drop](/docs/pt-BR/reference/settings/server-settings/settings#max_table_size_to_drop)
</Note>

<div id="max_untracked_memory">
  ## max\_untracked\_memory
</div>

<SettingsInfoBlock type="UInt64" default_value="4194304" />

Pequenas alocações e desalocações são agrupadas em uma variável local da thread e rastreadas ou perfiladas apenas quando a quantidade (em valor absoluto) se torna maior que o valor especificado. Se o valor for maior que 'memory\_profiler\_step', ele será efetivamente reduzido para 'memory\_profiler\_step'.

<div id="max_wkb_geometry_elements">
  ## max\_wkb\_geometry\_elements
</div>

<SettingsInfoBlock type="UInt64" default_value="1000000" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.4"},{"label": "1000000"},{"label": "Nova configuração para limitar a quantidade de elementos no parsing de geometrias WKB, evitando alocações excessivas de memória em dados malformados."}]}]} />

Número máximo de pontos, anéis ou polígonos permitidos em um único elemento de geometria WKB durante o parsing por `readWKB` e funções relacionadas. Isso protege contra alocações excessivas de memória causadas por dados WKB malformados. Defina como 0 para usar o limite fixo no código (100 milhões).
