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

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

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="distributed_aggregation_memory_efficient">
  ## distributed\_aggregation\_memory\_efficient
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

Indica se o modo de economia de memória da agregação distribuída está habilitado.

<div id="distributed_connections_pool_size">
  ## distributed\_connections\_pool\_size
</div>

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

O número máximo de conexões simultâneas com servidores remotos para o processamento distribuído de todas as consultas em uma única tabela distribuída. Recomendamos definir um valor não menor que o número de servidores no cluster.

<div id="distributed_foreground_insert">
  ## distributed\_foreground\_insert
</div>

**Aliases**: `insert_distributed_sync`

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

Habilita ou desabilita a inserção síncrona de dados em uma tabela [distribuída](/docs/pt-BR/reference/engines/table-engines/special/distributed).

Por padrão, ao inserir dados em uma tabela `Distributed`, o servidor ClickHouse envia os dados para os nós do cluster em segundo plano. Quando `distributed_foreground_insert=1`, os dados são processados de forma síncrona, e a operação `INSERT` só é concluída com sucesso depois que todos os dados são salvos em todos os shards (pelo menos uma réplica para cada shard se `internal_replication` for true).

Valores possíveis:

* `0` — Os dados são inseridos em segundo plano.
* `1` — Os dados são inseridos em modo síncrono.

Valor padrão no Cloud: `1`.

**Veja também**

* [Motor de tabela Distributed](/docs/pt-BR/reference/engines/table-engines/special/distributed)
* [Gerenciamento de tabelas distribuídas](/docs/pt-BR/reference/statements/system#managing-distributed-tables)

<div id="distributed_group_by_no_merge">
  ## distributed\_group\_by\_no\_merge
</div>

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

Não mescla estados de agregação de diferentes servidores no processamento distribuído de consultas. Você pode usar isso quando for certo que há chaves diferentes em shards diferentes.

Possíveis valores:

* `0` — Desabilitado (o processamento final da consulta é feito no nó iniciador).
* `1` - Não mescla estados de agregação de diferentes servidores no processamento distribuído de consultas (a consulta é processada completamente no shard, e o iniciador apenas atua como proxy dos dados); pode ser usado quando for certo que há chaves diferentes em shards diferentes.
* `2` - Igual a `1`, mas aplica `ORDER BY` e `LIMIT` no iniciador (isso não é possível quando a consulta é processada completamente no nó remoto, como em `distributed_group_by_no_merge=1`); pode ser usado para consultas com `ORDER BY` e/ou `LIMIT`.

**Exemplo**

```sql theme={null}
SELECT *
FROM remote('127.0.0.{2,3}', system.one)
GROUP BY dummy
LIMIT 1
SETTINGS distributed_group_by_no_merge = 1
FORMAT PrettyCompactMonoBlock

┌─dummy─┐
│     0 │
│     0 │
└───────┘
```

```sql theme={null}
SELECT *
FROM remote('127.0.0.{2,3}', system.one)
GROUP BY dummy
LIMIT 1
SETTINGS distributed_group_by_no_merge = 2
FORMAT PrettyCompactMonoBlock

┌─dummy─┐
│     0 │
└───────┘
```

<div id="distributed_insert_skip_read_only_replicas">
  ## distributed\_insert\_skip\_read\_only\_replicas
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.3"},{"label": "0"},{"label": "Se true, INSERT em Distributed ignorará réplicas em modo somente leitura"}]}]} />

Permite ignorar réplicas em modo somente leitura em consultas INSERT para Distributed.

Possible values:

* 0 — INSERT ocorrerá normalmente; se for direcionado a uma réplica em modo somente leitura, falhará
* 1 — O iniciador ignorará réplicas em modo somente leitura antes de enviar os dados aos shards.

<div id="distributed_product_mode">
  ## distributed\_product\_mode
</div>

<SettingsInfoBlock type="DistributedProductMode" default_value="deny" />

Altera o comportamento das [subconsultas distribuídas](/docs/pt-BR/reference/statements/in).

O ClickHouse aplica essa configuração quando a consulta contém o produto de tabelas distribuídas, ou seja, quando a consulta em uma tabela distribuída contém uma subconsulta não GLOBAL para a tabela distribuída.

Restrições:

* Aplicável apenas a subconsultas IN e JOIN.
* Apenas se a seção FROM usar uma tabela distribuída com mais de um shard.
* Se a subconsulta se referir a uma tabela distribuída com mais de um shard.
* Não é usado para a função de tabela [remote](/docs/pt-BR/reference/functions/table-functions/remote).

Valores possíveis:

* `deny` — Valor padrão. Proíbe o uso desses tipos de subconsultas (retorna a exceção "Double-distributed in/JOIN subqueries is denied").
* `local` — Substitui o banco de dados e a tabela na subconsulta pelos locais do servidor de destino (shard), mantendo o `IN`/`JOIN` normal.
* `global` — Substitui a consulta `IN`/`JOIN` por `GLOBAL IN`/`GLOBAL JOIN`.
* `allow` — Permite o uso desses tipos de subconsultas.

<div id="distributed_push_down_limit">
  ## distributed\_push\_down\_limit
</div>

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

Habilita ou desabilita a aplicação de [LIMIT](/docs/pt-BR/reference/settings/session-settings/other#limit) separadamente em cada shard.

Isso permite evitar:

* O envio de linhas extras pela rede;
* O processamento de linhas além do limite no nó iniciador.

A partir da versão 21.9, não é mais possível obter resultados imprecisos, já que `distributed_push_down_limit` altera a execução da consulta somente se pelo menos uma das condições abaixo for atendida:

* [distributed\_group\_by\_no\_merge](/docs/pt-BR/reference/settings/session-settings/distributed#distributed_group_by_no_merge) > 0.
* A consulta **não tem** `GROUP BY`/`DISTINCT`/`LIMIT BY`, mas tem `ORDER BY`/`LIMIT`.
* A consulta **tem** `GROUP BY`/`DISTINCT`/`LIMIT BY` com `ORDER BY`/`LIMIT` e:
  * [optimize\_skip\_unused\_shards](/docs/pt-BR/reference/settings/session-settings/optimize-skip#optimize_skip_unused_shards) está habilitado.
  * [optimize\_distributed\_group\_by\_sharding\_key](/docs/pt-BR/reference/settings/session-settings/optimize#optimize_distributed_group_by_sharding_key) está habilitado.

Valores possíveis:

* 0 — Desativado.
* 1 — Habilitado.

Veja também:

* [distributed\_group\_by\_no\_merge](/docs/pt-BR/reference/settings/session-settings/distributed#distributed_group_by_no_merge)
* [optimize\_skip\_unused\_shards](/docs/pt-BR/reference/settings/session-settings/optimize-skip#optimize_skip_unused_shards)
* [optimize\_distributed\_group\_by\_sharding\_key](/docs/pt-BR/reference/settings/session-settings/optimize#optimize_distributed_group_by_sharding_key)
