allow_aggregate_partitions_independently
Habilita a agregação independente de partições em threads separadas quando a chave de particionamento é adequada à chave deGROUP 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.
allow_archive_path_syntax
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.
allow_asynchronous_read_from_io_pool_for_merge_tree
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.allow_calculating_subcolumns_sizes_for_merge_tree_reading
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.allow_changing_replica_until_first_data_packet
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 timeoutreceive_data_timeout); caso contrário, desabilitamos a troca de réplica depois da primeira vez em que houve Progress.
allow_correlated_subqueries
Aliases:allow_experimental_correlated_subqueries
Permite a execução de subconsultas correlacionadas.
allow_create_index_without_type
Permite a consulta CREATE INDEX sem TYPE. A consulta será ignorada. Destinado a testes de compatibilidade com SQL.allow_creating_set_partitions_independently
Habilita a pré-desduplicação paralela por partição do resultado da subconsulta ao criar o conjunto paraIN (subquery), quando a expressão de partição da tabela MergeTree da subconsulta é uma função determinística das colunas de saída da subconsulta. Cada partição é lida em um fluxo separado e desduplicada independentemente, de modo que a única transformada de preenchimento do conjunto calcula hashes apenas de linhas únicas. Não se aplica com FINAL, réplicas paralelas ou GLOBAL IN. A otimização solicita a leitura por partição somente quando os dados têm mais de uma partição e a maior partição contém, no máximo, o dobro das linhas da partição média (consulte force_creating_set_partitions_independently para ignorar a verificação de assimetria); quando os fluxos já são separados por partição porque outro recurso por partição os dividiu (por exemplo, LIMIT BY por partição), a pré-desduplicação é aplicada independentemente disso, pois o layout de leitura já está definido. Enquanto o conjunto é criado, as tabelas de desduplicação por fluxo mantêm juntas aproximadamente uma cópia extra das chaves únicas.
allow_custom_error_code_in_throwif
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.allow_database_glue_catalog
Aliases:allow_experimental_database_glue_catalog
Permite o database engine DataLakeCatalog com catalog_type = 'glue'
Valor padrão no Cloud: 1.
allow_database_iceberg
Aliases:allow_experimental_database_iceberg
Permite o database engine DataLakeCatalog com catalog_type = 'iceberg'
Valor padrão no Cloud: 1.
allow_database_unity_catalog
Aliases:allow_experimental_database_unity_catalog
Permite o database engine DataLakeCatalog com catalog_type = 'unity'
Cloud default value: 1.
allow_ddl
Se estiver definido como true, o usuário poderá executar consultas DDL.allow_delta_kernel_rs
Aliases:allow_experimental_delta_kernel_rs
Permite usar a implementação delta-kernel-rs para ler tabelas Delta Lake.
allow_delta_lake_create_table
Permite criar uma nova tabela DeltaLake usando delta-kernel-rs ou registrar uma tabela existente em um catalog. A criação de tabelas particionadas (PARTITION BY) ainda não é suportada. Em um banco de dados DataLakeCatalog, a tabela é registrada com seu schema Delta, de modo que tipos ClickHouse declarados que mapeiam para um tipo Delta mais amplo (por exemplo, UInt8 -> short, FixedString(N) -> string) são lidos como o tipo mapeado pelo Delta, e não como o tipo declarado.
allow_delta_lake_writes
Aliases:allow_experimental_delta_lake_writes
Habilita o recurso de gravação do delta-kernel.
allow_distinct_partitions_independently
Habilita a avaliação independente deDISTINCT por partição em threads separadas quando a expressão de partição é uma função determinística das colunas de DISTINCT, dispensando a mesclagem entre fluxos. É vantajoso quando o número de partições é próximo ao número de núcleos e as partições têm aproximadamente o mesmo tamanho; caso contrário, uma heurística de custo a desativa. Consulte max_number_of_partitions_for_independent_distinct e force_distinct_partitions_independently. Não se aplica com FINAL nem com réplicas paralelas.
Não se aplica quando max_rows_in_distinct ou max_bytes_in_distinct está definido: esses limites são aplicados pela única transformada DISTINCT que processa todo o resultado mesclado; por isso, a mesclagem entre fluxos é mantida para preservar seu significado global.
allow_distributed_ddl
Se estiver definido como true, o usuário terá permissão para executar consultas de DDL distribuído.allow_drop_detached
Permite consultasALTER TABLE ... DROP DETACHED PART[ITION] ...
allow_dynamic_type_in_join_keys
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.allow_executable_tables
Permite a leitura por meio da função de tabelaexecutable e das tabelas Executable e ExecutablePool.
Desativar essa configuração recusa apenas as leituras: criar, anexar, remover e descrever essas tabelas continua funcionando. Os processos de ExecutablePool já iniciados permanecem em execução, em vez de serem encerrados, mas cada leitura continua sendo recusada até que a configuração seja habilitada novamente.
allow_execute_multiif_columnar
Permite executar a função multiIf de forma colunarallow_fuzz_query_functions
Habilita a funçãofuzzQuery, que aplica mutações aleatórias de AST a uma string de consulta.
allow_general_join_planning
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.allow_geo_types_in_iceberg
Aliases:allow_experimental_geo_types_in_iceberg
Permite o parsing dos tipos de campo geometry e geography do Iceberg como o tipo Geometry (Variant) do ClickHouse.
allow_get_client_http_header
Permite usar a funçãogetClientHTTPHeader, 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.
allow_hyperscan
Permite funções que usam a biblioteca Hyperscan. Desative para evitar tempos de compilação potencialmente longos e uso excessivo de recursos.allow_iceberg_remove_orphan_files
Permite usar ‘ALTER TABLE … EXECUTE remove_orphan_files()’ em tabelas Iceberg.allow_insert_into_iceberg
Aliases:allow_experimental_insert_into_iceberg
Permite executar consultas insert no Iceberg.
allow_introspection_functions
Habilita ou desabilita funções de introspecção para o perfilamento de consultas. Valores possíveis:- 1 — Funções de introspecção habilitadas.
- 0 — Funções de introspecção desabilitadas.
- Sampling Query Profiler
- Tabela de sistema trace_log
allow_join_right_table_sorting
Aliases:allow_experimental_join_right_table_sorting
Se definido como true e as condições de join_to_sort_minimum_perkey_rows e join_to_sort_maximum_table_rows forem atendidas, reorganiza a right table pela chave para melhorar o desempenho em left ou inner hash join.
allow_kafka_offsets_storage_in_keeper
Aliases:allow_experimental_kafka_offsets_storage_in_keeper
Permite armazenar offsets relacionados ao Kafka no ClickHouse Keeper. Quando habilitado, é possível especificar um caminho do ClickHouse Keeper e um nome de réplica no motor de tabela Kafka. Como resultado, em vez do motor Kafka comum, será utilizado um novo tipo de motor de armazenamento que mantém os offsets confirmados principalmente no ClickHouse Keeper
allow_key_condition_coalesce_rewrite
Reescreve predicados da formacoalesce(a_1, ..., a_N) <op> const (e, de forma equivalente, ifNull, ou com a constante à esquerda) como a disjunção (a_1 <op> const) OR (a_1 IS NULL AND a_2 <op> const) OR ... OR (a_1 IS NULL AND ... AND a_{N-1} IS NULL AND a_N <op> const) 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), são tratadas: a lista de argumentos é normalizada da mesma forma que o próprio coalesce (literais NULL são removidos, assim como os argumentos após o primeiro que não seja Nullable), e uma constante não NULL ao final, se houver, é emitida como o ramo final. A reescrita é estritamente aditiva para o descarte por índices; a filtragem em tempo de execução continua usando o predicado original.
Além disso, predicados de igualdade exata da forma nullIf(key, sentinel) = const (em que sentinel != const e os tipos correspondem exatamente) são reescritos para key = const, para que a chave primária, a partição e os índices de salto em key possam descartar grânulos diretamente. Não há suporte para eliminação de nullIf por intervalo ou disjunção.
allow_limit_by_partitions_independently
Habilita a avaliação independente deLIMIT 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.
allow_lossy_numeric_supertype
Quando ativada,if/multiIf/coalesce/ifNull/array/map aplicados a um conjunto de argumentos numéricos que não tem um tipo comum sem perda (por exemplo, um Decimal e um Float64, ou um Int64 e um Float64) são resolvidos para um supertipo numérico (Float64) em vez de falharem, com possível perda de precisão. Isso permite usar o resultado diretamente com funções de agregação que combinam valores, como sum, avg, min e max. Essa opção é independente de use_variant_as_common_type: o supertipo numérico é produzido independentemente de use_variant_as_common_type estar ativada ou não. Quando desativada (o padrão), esses conjuntos de argumentos não têm um tipo comum e, portanto, tornam-se um Variant (se use_variant_as_common_type estiver ativada) ou geram NO_COMMON_TYPE.
allow_materialized_view_with_bad_select
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.allow_metadata_only_named_tuple_alter
Se true, ALTER MODIFY COLUMN em uma Tuple nomeada que apenas adiciona novos subcampos é somente de metadados (sem mutação de dados). Defina como false para forçar o comportamento anterior de mutação completa.allow_minmax_index_for_json
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.allow_named_collection_override_by_default
Permite, por padrão, a substituição dos campos das coleções nomeadas.allow_non_metadata_alters
Permite executar alters que afetam não apenas os metadados das tabelas, mas também os dados em discoallow_nonconst_timezone_arguments
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.allow_nullable_tuple_in_extracted_subcolumns
Controla se subcolunas extraídas do tipoTuple(...) podem ser tipadas como Nullable(Tuple(...)).
false: RetornaTuple(...)e usa os valores padrão da tupla para linhas em que a subcoluna está ausente.true: RetornaNullable(Tuple(...))e usaNULLpara linhas em que a subcoluna está ausente.
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.
allow_preliminary_distinct_abandoning
Permite que oDISTINCT preliminar (por fluxo) desista de deduplicar entradas quase totalmente únicas, liberando sua tabela hash e repassando adiante as linhas restantes. O DISTINCT preliminar é, por design, de melhor esforço — duplicatas de streams diferentes passam por ele mesmo quando há deduplicação — e o DISTINCT final deduplica essa saída novamente, de modo que desistir deixa de remover quase nada e ainda economiza a memória e o cálculo de hash de uma segunda cópia das chaves únicas. Não se aplica quando o DISTINCT preliminar traz uma indicação de limite (um LIMIT simples sem ordenação subsequente).
allow_rank_dense_rank_arguments
Permite passar argumentos para as funções de janelaRANK 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.
allow_reorder_prewhere_conditions
Permite reordenar as condições ao movê-las de WHERE para PREWHERE, para otimizar a filtragemallow_replace_partition_from_empty_source
Permite queALTER 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).
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 ....
allow_settings_after_format_in_insert
Controla seSETTINGS 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:
allow_settings_after_format_in_insert:
- 0 — Não permitir.
- 1 — Permitir.
Use esta configuração apenas por compatibilidade retroativa, caso seus casos de uso dependam da sintaxe antiga.
allow_simdjson
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.allow_special_serialization_kinds_in_output_formats
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.allow_unrestricted_reads_from_keeper
Permite leituras irrestritas (sem condição no path) da tabela system.zookeeper; pode ser útil, mas não é seguro para o ZooKeeperallow_url_wildcard_from_index_pages
Aliases:allow_experimental_url_wildcard_from_index_pages
Permite a expansão de wildcard para url() e ENGINE = URL a partir de páginas de índice HTTP.
allow_window_partitions_independently
Habilita a avaliação independente de funções de janela por partição em threads separadas quando a expressão de partição da tabelaMergeTree é uma função determinística das colunas PARTITION BY da janela. Cada partição é lida por um fluxo separado, ordenada de forma independente conforme a descrição de ordenação da janela e processada por sua própria transformada de janela, evitando a dispersão por hash que normalmente redistribui cada linha entre as threads. É vantajoso quando o número de partições é próximo ao número de núcleos e as partições têm aproximadamente o mesmo tamanho; caso contrário, uma heurística de custo impede sua aplicação. Consulte max_number_of_partitions_for_independent_window e force_window_partitions_independently. Não se aplica com FINAL nem com réplicas paralelas.