> ## 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_insert_*

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

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>;
};

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_insert_block_size">
  ## max\_insert\_block\_size
</div>

**Aliases**: `max_insert_block_size_rows`

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

O tamanho máximo dos blocos (em número de linhas) a serem formados para inserção em uma tabela.

Essa configuração controla a formação de blocos em dois contextos:

1. Análise de formatos: Quando o servidor analisa formatos de entrada baseados em linhas (CSV, TSV, JSONEachRow etc.) de qualquer interface (HTTP, clickhouse-client com dados inline, gRPC, PostgreSQL wire protocol), os blocos são emitidos quando:

   * Ambos min\_insert\_block\_size\_rows AND min\_insert\_block\_size\_bytes são atingidos, OR
   * max\_insert\_block\_size\_rows OR max\_insert\_block\_size\_bytes é atingido

   Observação: Ao usar clickhouse-client ou clickhouse-local para ler de um arquivo, o próprio cliente analisa os dados, e essa configuração se aplica no lado do cliente.

2. Operações de INSERT: Durante consultas INSERT e quando os dados fluem por visões materializadas, o comportamento dessa configuração depende de `use_strict_insert_block_limits`:

   * Quando ativado: Os blocos são emitidos quando:
     * Limiares mínimos (AND): Ambos min\_insert\_block\_size\_rows AND min\_insert\_block\_size\_bytes são atingidos
     * Limiares máximos (OR): max\_insert\_block\_size\_rows OR max\_insert\_block\_size\_bytes é atingido

   * Quando desativado: Os blocos são emitidos quando min\_insert\_block\_size\_rows OR min\_insert\_block\_size\_bytes é atingido. As configurações max\_insert\_block\_size não são aplicadas.

Valores possíveis:

* Inteiro positivo.

<div id="max_insert_block_size_bytes">
  ## max\_insert\_block\_size\_bytes
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.1"},{"label": "0"},{"label": "Nova configuração que permite controlar o tamanho dos blocos em bytes durante a análise de dados no formato de entrada Row."}]}]} />

O tamanho máximo dos blocos (em bytes) a serem formados para inserção em uma tabela.

Essa configuração funciona em conjunto com max\_insert\_block\_size\_rows e controla a formação de blocos no mesmo contexto. Consulte max\_insert\_block\_size\_rows para obter informações detalhadas sobre quando e como essas configurações são aplicadas.

Valores possíveis:

* Inteiro positivo.
* 0 — a configuração não participa da formação de blocos.

<div id="max_insert_delayed_streams_for_parallel_write">
  ## max\_insert\_delayed\_streams\_for\_parallel\_write
</div>

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

O número máximo de fluxos (colunas) cujo flush final da parte pode ser atrasado. Padrão: auto (100 caso o armazenamento subjacente ofereça suporte à gravação paralela, por exemplo S3, e desabilitado caso contrário)

Valor padrão no Cloud: `50`.

<div id="max_insert_threads">
  ## max\_insert\_threads
</div>

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

O número máximo de threads para executar a consulta `INSERT SELECT`.

Valores possíveis:

* 0 (ou 1) — `INSERT SELECT` sem execução em paralelo.
* Inteiro positivo, maior que 1.

Valor padrão do Cloud:

* `1` para nós com 8 GiB de memória
* `2` para nós com 16 GiB de memória
* `4` para nós maiores

O `INSERT SELECT` em paralelo só tem efeito se a parte `SELECT` for executada em paralelo; consulte a configuração [`max_threads`](/docs/pt-BR/reference/settings/session-settings/max-threads#max_threads).
Valores mais altos levam a maior uso de memória.

<div id="max_insert_threads_min_free_memory_per_thread">
  ## max\_insert\_threads\_min\_free\_memory\_per\_thread
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.5"},{"label": "4294967296"},{"label": "Nova configuração para limitar o número de threads de inserção com base na quantidade de memória livre disponível"}]}]} />

Igual a `max_threads_min_free_memory_per_thread`, mas aplicado a `max_insert_threads` em vez de `max_threads`. O valor padrão é mais alto porque pipelines de inserção normalmente mantêm buffers maiores por thread (partes da MergeTree, blocos de compressão) do que pipelines de leitura.

Se a quantidade de memória livre for menor que `max_insert_threads` multiplicado por esse valor, `max_insert_threads` será reduzido para se ajustar, até o mínimo de `1`.

Defina como `0` para desabilitar esse limite.
