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

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

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 BetaBadge = ({link, galaxyTrack, galaxyEvent}) => {
  if (link) {
    return <a href={link} target="_blank" rel="noopener noreferrer" className="betaBadge" onClick={galaxyTrack && galaxyEvent ? galaxyOnClick(galaxyEvent) : undefined}>
                <Icon />
                <span>Beta</span>
            </a>;
  }
  return <div className="betaBadge">
            <Icon />
            <span>
                Funcionalidade Beta. 
                <u>
                    <a href="/docs/docs/beta-and-experimental-features#beta-features">
                        Saiba mais.
                    </a>
                </u>
            </span>
        </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>;
};

Estas 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="allow_aggregate_partitions_independently">
  ## allow\_aggregate\_partitions\_independently
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.7"},{"label": "1"},{"label": "Habilita por padrão a agregação independente por partição quando a chave de particionamento é adequada à chave de `GROUP BY`. As heurísticas de tempo de execução existentes em `ReadFromMergeTree::requestOutputEachPartitionThroughSeparatePortForAggregation` já ignoram a otimização quando o layout das partições é desfavorável (poucas partições, muitas partições ou tamanhos de partição significativamente desbalanceados), portanto habilitar essa configuração é seguro nos casos em que, caso contrário, ela não teria efeito."}]}]} />

Habilita a agregação independente de partições em threads separadas quando a chave de particionamento é adequada à chave de `GROUP BY`. Isso é benéfico quando o número de partições é próximo do número de núcleos e as partições têm aproximadamente o mesmo tamanho. As heurísticas em `ReadFromMergeTree` desabilitam automaticamente a otimização para layouts desfavoráveis (poucas partições, muitas partições ou tamanhos de partição significativamente desbalanceados); consulte `force_aggregate_partitions_independently` para ignorar essas verificações.

<div id="allow_archive_path_syntax">
  ## allow\_archive\_path\_syntax
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.8"},{"label": "1"},{"label": "Nova configuração adicionada para permitir desabilitar a sintaxe de caminho de arquivo."}]}, {"id": "row-2","items": [{"label": "24.5"},{"label": "1"},{"label": "Nova configuração adicionada para permitir desabilitar a sintaxe de caminho de arquivo."}]}]} />

Os motores File/S3 e a função de tabela analisarão caminhos com '::' como `<archive> :: <file>` se o arquivo tiver a extensão correta.

<div id="allow_asynchronous_read_from_io_pool_for_merge_tree">
  ## allow\_asynchronous\_read\_from\_io\_pool\_for\_merge\_tree
</div>

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

Usa o pool de E/S em segundo plano para ler dados de tabelas MergeTree. Essa configuração pode aumentar o desempenho de consultas limitadas por E/S.

<div id="allow_calculating_subcolumns_sizes_for_merge_tree_reading">
  ## allow\_calculating\_subcolumns\_sizes\_for\_merge\_tree\_reading
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.3"},{"label": "1"},{"label": "Permite calcular os tamanhos das subcolunas na leitura de MergeTree para melhorar a divisão das tarefas de leitura"}]}]} />

Quando habilitada, o ClickHouse calculará o tamanho dos arquivos necessários para a leitura de cada subcoluna para melhorar o cálculo dos tamanhos das tarefas e dos blocos.

<div id="allow_changing_replica_until_first_data_packet">
  ## allow\_changing\_replica\_until\_first\_data\_packet
</div>

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

Se estiver habilitado, em hedged requests podemos iniciar uma nova conexão até receber o primeiro pacote de Data, mesmo que já tenhamos feito algum Progress
(mas o Progress não tenha sido atualizado dentro do timeout `receive_data_timeout`); caso contrário, desabilitamos a troca de réplica depois da primeira vez em que houve Progress.

<div id="allow_create_index_without_type">
  ## allow\_create\_index\_without\_type
</div>

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

Permite a consulta CREATE INDEX sem TYPE. A consulta será ignorada. Destinado a testes de compatibilidade com SQL.

<div id="allow_custom_error_code_in_throwif">
  ## allow\_custom\_error\_code\_in\_throwif
</div>

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

Habilita o uso de código de erro personalizado na função throwIf(). Se true, as exceções lançadas podem ter códigos de erro inesperados.

<div id="allow_ddl">
  ## allow\_ddl
</div>

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

Se estiver definido como true, o usuário poderá executar consultas DDL.

<div id="allow_distributed_ddl">
  ## allow\_distributed\_ddl
</div>

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

Se estiver definido como true, o usuário terá permissão para executar consultas de DDL distribuído.

<div id="allow_drop_detached">
  ## allow\_drop\_detached
</div>

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

Permite consultas `ALTER TABLE ... DROP DETACHED PART[ITION] ...`

<div id="allow_dynamic_type_in_join_keys">
  ## allow\_dynamic\_type\_in\_join\_keys
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.10"},{"label": "0"},{"label": "Desabilita por padrão o uso do tipo Dynamic em chaves de JOIN"}]}]} />

Permite usar o tipo Dynamic em chaves de JOIN. Adicionado por compatibilidade. Não é recomendável usar o tipo Dynamic em chaves de JOIN, porque a comparação com outros tipos pode levar a resultados inesperados.

<div id="allow_execute_multiif_columnar">
  ## allow\_execute\_multiif\_columnar
</div>

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

Permite executar a função multiIf de forma colunar

<div id="allow_fuzz_query_functions">
  ## allow\_fuzz\_query\_functions
</div>

<ExperimentalBadge />

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.2"},{"label": "0"},{"label": "Nova configuração para habilitar a função fuzzQuery."}]}]} />

Habilita a função `fuzzQuery`, que aplica mutações aleatórias de AST a uma string de consulta.

<div id="allow_general_join_planning">
  ## allow\_general\_join\_planning
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "1"},{"label": "Permite um algoritmo de planejamento de join mais abrangente quando o algoritmo de hash join está habilitado."}]}]} />

Permite um algoritmo de planejamento de join mais abrangente, capaz de lidar com condições mais complexas, mas que funciona apenas com hash join. Se o hash join não estiver habilitado, o algoritmo de planejamento de join padrão será usado independentemente do valor desta configuração.

<div id="allow_get_client_http_header">
  ## allow\_get\_client\_http\_header
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.3"},{"label": "0"},{"label": "Introduzida uma nova função."}]}]} />

Permite usar a função `getClientHTTPHeader`, que permite obter o valor de um cabeçalho da requisição HTTP atual. Ela não é habilitada por padrão por motivos de segurança, pois alguns cabeçalhos, como `Cookie`, podem conter informações sensíveis. Observe que os cabeçalhos `X-ClickHouse-*`, `Authentication` e `Authorization` são sempre restritos e não podem ser obtidos com esta função.

<div id="allow_hyperscan">
  ## allow\_hyperscan
</div>

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

Permite funções que usam a biblioteca Hyperscan. Desative para evitar tempos de compilação potencialmente longos e uso excessivo de recursos.

<div id="allow_iceberg_remove_orphan_files">
  ## allow\_iceberg\_remove\_orphan\_files
</div>

<ExperimentalBadge />

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.4"},{"label": "0"},{"label": "Nova configuração para controlar a remoção de arquivos órfãos do Iceberg"}]}]} />

Permite usar 'ALTER TABLE ... EXECUTE remove\_orphan\_files()' em tabelas Iceberg.

<div id="allow_insert_into_iceberg">
  ## allow\_insert\_into\_iceberg
</div>

<BetaBadge />

**Aliases**: `allow_experimental_insert_into_iceberg`

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.2"},{"label": "0"},{"label": "`Insert` no Iceberg passou para Beta"}]}, {"id": "row-2","items": [{"label": "25.7"},{"label": "0"},{"label": "Nova configuração."}]}]} />

Permite executar consultas `insert` no Iceberg.

<div id="allow_introspection_functions">
  ## allow\_introspection\_functions
</div>

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

Habilita ou desabilita [funções de introspecção](/docs/pt-BR/reference/functions/regular-functions/introspection) para o perfilamento de consultas.

Valores possíveis:

* 1 — Funções de introspecção habilitadas.
* 0 — Funções de introspecção desabilitadas.

**Veja também**

* [Sampling Query Profiler](/docs/pt-BR/concepts/features/performance/troubleshoot/sampling-query-profiler)
* Tabela de sistema [trace\_log](/docs/pt-BR/reference/system-tables/trace_log)

<div id="allow_key_condition_coalesce_rewrite">
  ## allow\_key\_condition\_coalesce\_rewrite
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.5"},{"label": "1"},{"label": "Nova configuração para reescrever predicados da forma `coalesce(a_1, ..., a_N) <op> const` (e, de forma equivalente, `ifNull`, ou com a constante à esquerda) como uma disjunção antes da análise de índices, para que a chave primária por coluna e os índices de salto em cada `a_i` possam ser usados. Formas parcialmente constantes, como `coalesce(a, 42, b)` e `coalesce(a, b, 42)`, também são tratadas."}]}]} />

Permite que a chave primária e os índices de salto do MergeTree descartem grânulos para predicados `WHERE`/`PREWHERE` que envolvem `coalesce` ou `ifNull`. Sem essa configuração, esses predicados são opacos à análise de índices e não descartam grânulos, de modo que grânulos que não podem corresponder ainda são lidos. Isso afeta apenas quais grânulos são lidos; os resultados da consulta permanecem inalterados, porque as linhas ainda são filtradas pelo predicado original.

Duas formas de predicado são reescritas antes da análise de índices:

* Uma comparação com `coalesce`/`ifNull`, como `coalesce(a, b) = 5`, torna-se uma disjunção para que um índice em cada argumento possa descartar grânulos: `a = 5 OR (a IS NULL AND b = 5)`, com extensão para mais argumentos.
* Um `coalesce`/`ifNull` com uma constante padrão falsy (zero), usado diretamente como condição, como `ifNull(a = 5, 0)` ou `coalesce(a = 5, 0)`, é reduzido ao predicado interno `a = 5`. Esses encapsulamentos colapsam o resultado ternário do predicado interno em um booleano definido (mapeando `NULL` para `false`).

<div id="allow_limit_by_partitions_independently">
  ## allow\_limit\_by\_partitions\_independently
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.6"},{"label": "1"},{"label": "Nova configuração para habilitar a avaliação independente de `LIMIT BY` em cada partição quando a expressão de partição for uma função determinística das colunas de `LIMIT BY`."}]}]} />

Habilita a avaliação independente de `LIMIT BY` em cada partição, em threads separadas, quando a expressão de partição é uma função determinística das colunas de `LIMIT BY`.

<div id="allow_materialized_view_with_bad_select">
  ## allow\_materialized\_view\_with\_bad\_select
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.4"},{"label": "0"},{"label": "Não permite criar MVs que fazem referência a colunas ou tabelas inexistentes"}]}, {"id": "row-2","items": [{"label": "24.9"},{"label": "1"},{"label": "Dá suporte (mas ainda não habilita) à validação mais rigorosa em CREATE MATERIALIZED VIEW"}]}]} />

Permite CREATE MATERIALIZED VIEW com uma consulta SELECT que faz referência a tabelas ou colunas inexistentes. A consulta ainda precisa ser sintaticamente válida. Não se aplica a MVs atualizáveis. Não se aplica se o esquema da MV precisar ser inferido a partir da consulta SELECT (isto é, se o CREATE não tiver lista de colunas nem tabela de destino com TO). Pode ser usado para criar uma MV antes da tabela de origem.

<div id="allow_minmax_index_for_json">
  ## allow\_minmax\_index\_for\_json
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.7"},{"label": "0"},{"label": "Proíbe, por padrão, a criação de índice skip minmax em colunas JSON porque a serialização do índice não consegue lidar com valores heterogêneos de Field"}]}]} />

Permite criar índices skip minmax em colunas JSON (Object). Desativado por padrão porque o
mecanismo de serialização do índice minmax não consegue lidar com os valores heterogêneos de Field que as colunas JSON podem conter.

<div id="allow_named_collection_override_by_default">
  ## allow\_named\_collection\_override\_by\_default
</div>

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

Permite, por padrão, a substituição dos campos das coleções nomeadas.

<div id="allow_non_metadata_alters">
  ## allow\_non\_metadata\_alters
</div>

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

Permite executar alters que afetam não apenas os metadados das tabelas, mas também os dados em disco

<div id="allow_nonconst_timezone_arguments">
  ## allow\_nonconst\_timezone\_arguments
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.4"},{"label": "0"},{"label": "Permite argumentos de fuso horário não constantes em determinadas funções relacionadas a data e hora, como toTimeZone(), fromUnixTimestamp*() e snowflakeToDateTime*()."}]}]} />

Permite argumentos de fuso horário não constantes em determinadas funções relacionadas a data e hora, como toTimeZone(), fromUnixTimestamp\*() e snowflakeIDToDateTime\*().
Essa configuração existe apenas por motivos de compatibilidade. No ClickHouse, o fuso horário é uma propriedade do tipo de dado e, por consequência, da coluna.
Ativar essa configuração passa a impressão errada de que valores diferentes dentro de uma coluna podem ter fusos horários diferentes.
Portanto, não ative essa configuração.

<div id="allow_nullable_tuple_in_extracted_subcolumns">
  ## allow\_nullable\_tuple\_in\_extracted\_subcolumns
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.3"},{"label": "0"},{"label": "Nova configuração que controla se subcolunas extraídas de Tuple podem ser anuláveis."}]}]} />

Controla se subcolunas extraídas do tipo `Tuple(...)` podem ser tipadas como `Nullable(Tuple(...))`.

* `false`: Retorna `Tuple(...)` e usa os valores padrão da tupla para linhas em que a subcoluna está ausente.
* `true`: Retorna `Nullable(Tuple(...))` e usa `NULL` para linhas em que a subcoluna está ausente.

Esta configuração controla apenas o comportamento das subcolunas extraídas.
Ela não controla se colunas `Nullable(Tuple(...))` podem ser criadas em tabelas; isso é controlado por `enable_nullable_tuple_type`.

O ClickHouse usa o valor dessa configuração carregado na inicialização do servidor.
Alterações feitas com `SET` ou `SETTINGS` no nível da consulta não mudam o comportamento das subcolunas extraídas.
Para mudar o comportamento das subcolunas extraídas, atualize `allow_nullable_tuple_in_extracted_subcolumns` na configuração do perfil de inicialização (por exemplo, users.xml) e reinicie o servidor.

<div id="allow_rank_dense_rank_arguments">
  ## allow\_rank\_dense\_rank\_arguments
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.5"},{"label": "0"},{"label": "Nova configuração. Antes da versão 26.5, as funções de janela `RANK` e `DENSE_RANK` ignoravam silenciosamente quaisquer argumentos fornecidos (equivalente a `allow_rank_dense_rank_arguments = 1`). A partir da versão 26.5, elas rejeitam argumentos por padrão com `NUMBER_OF_ARGUMENTS_DOESNT_MATCH` porque, segundo o padrão SQL, essas funções aceitam zero argumentos. Defina como `1` para restaurar o comportamento antigo."}]}]} />

Permite passar argumentos para as funções de janela `RANK` e `DENSE_RANK` por compatibilidade retroativa.

Segundo o padrão SQL, `RANK` e `DENSE_RANK` aceitam zero argumentos — elas classificam as linhas com base apenas na janela
`OVER (ORDER BY ...)`. Em versões do ClickHouse anteriores à 26.5, consultas como
`RANK(x) OVER (...)` aceitavam e ignoravam silenciosamente o argumento, o que gerava confusão entre os usuários
(o argumento visível sugeria que influenciava o ranking, mas não influenciava).

Quando essa configuração é `false` (o padrão), `RANK` e `DENSE_RANK` rejeitam quaisquer argumentos e
geram `NUMBER_OF_ARGUMENTS_DOESNT_MATCH`. Quando definida como `true`, o comportamento permissivo antigo é
restaurado — os argumentos são ignorados silenciosamente, como acontecia antes da versão 26.5.

<div id="allow_reorder_prewhere_conditions">
  ## allow\_reorder\_prewhere\_conditions
</div>

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

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

Permite reordenar as condições ao movê-las de WHERE para PREWHERE, para otimizar a filtragem

<div id="allow_replace_partition_from_empty_source">
  ## allow\_replace\_partition\_from\_empty\_source
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.6"},{"label": "0"},{"label": "Nova verificação de segurança: `ALTER TABLE ... REPLACE PARTITION ... FROM ...` agora gera uma exceção quando a tabela de origem não tem partes na partição solicitada (corrige a perda silenciosa de dados em [#23727](https:\/\/github.com\/ClickHouse\/ClickHouse\/issues\/23727)). O comportamento anterior, de remover silenciosamente a partição de destino, é preservado ao definir `allow_replace_partition_from_empty_source = 1`."}]}]} />

Permite que `ALTER TABLE ... REPLACE PARTITION ... FROM ...` remova silenciosamente a partição de destino quando a origem não tiver partes nessa partição.

Por padrão, isso não é permitido: `REPLACE PARTITION` a partir de uma origem sem dados na partição solicitada gera uma exceção, porque, nesse caso, a operação efetivamente se torna um `DROP PARTITION` silencioso no destino (os dados do destino são removidos e nada os substitui), uma causa comum de perda acidental de dados (veja [#23727](https://github.com/ClickHouse/ClickHouse/issues/23727)).

Ative essa configuração para restaurar o comportamento anterior, por exemplo, quando você usa intencionalmente uma partição de origem vazia para limpar dados no destino. Para uma remoção incondicional, prefira `ALTER TABLE ... DROP PARTITION ...`.

<div id="allow_settings_after_format_in_insert">
  ## allow\_settings\_after\_format\_in\_insert
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "22.4"},{"label": "0"},{"label": "Não permite SETTINGS após FORMAT em consultas INSERT, porque o ClickHouse interpreta SETTINGS como valores, o que pode causar confusão"}]}]} />

Controla se `SETTINGS` após `FORMAT` em consultas `INSERT` é permitido ou não. Não é recomendável usar isso, pois parte de `SETTINGS` pode ser interpretada como valores.

Exemplo:

```sql theme={null}
INSERT INTO FUNCTION null('foo String') SETTINGS max_threads=1 VALUES ('bar');
```

Mas a consulta a seguir só funcionará com `allow_settings_after_format_in_insert`:

```sql theme={null}
SET allow_settings_after_format_in_insert=1;
INSERT INTO FUNCTION null('foo String') VALUES ('bar') SETTINGS max_threads=1;
```

Valores possíveis:

* 0 — Não permitir.
* 1 — Permitir.

<Note>
  Use esta configuração apenas por compatibilidade retroativa, caso seus casos de uso dependam da sintaxe antiga.
</Note>

<div id="allow_simdjson">
  ## allow\_simdjson
</div>

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

Permite o uso da biblioteca simdjson em funções 'JSON\*' se as instruções AVX2 estiverem disponíveis. Se estiver desabilitado, a rapidjson será usada.

<div id="allow_special_serialization_kinds_in_output_formats">
  ## allow\_special\_serialization\_kinds\_in\_output\_formats
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.11"},{"label": "1"},{"label": "Habilita a saída direta de representações especiais de colunas, como Sparse\/Replicated, em alguns formatos de saída"}]}, {"id": "row-2","items": [{"label": "25.10"},{"label": "0"},{"label": "Adiciona uma configuração para permitir a saída de representações especiais de colunas, como Sparse\/Replicated, sem convertê-las em colunas completas"}]}]} />

Permite a saída de colunas com tipos especiais de serialização, como Sparse e Replicated, sem convertê-las para a representação completa da coluna.
Isso ajuda a evitar cópias de dados desnecessárias durante a formatação.

<div id="allow_unrestricted_reads_from_keeper">
  ## allow\_unrestricted\_reads\_from\_keeper
</div>

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

Permite leituras irrestritas (sem condição no path) da tabela system.zookeeper; pode ser útil, mas não é seguro para o ZooKeeper
