Skip to main content
Estos ajustes están disponibles en system.settings y se generan automáticamente a partir del código fuente.

adaptive_aggregator_freeze_threshold

El número de claves a partir del cual el agregador adaptativo congela la tabla hash local de un hilo (consulte enable_adaptive_aggregator). Los valores menores mantienen las tablas congeladas en caché, mientras que los valores mayores permiten que absorban más claves frecuentes. El valor 0 congela las tablas en la primera oportunidad, lo que hace que el algoritmo se comporte de forma similar al agregador con segmentación (enable_sharding_aggregator): cada clave se enruta según su hash y se agrega en un único propietario, pero se difiere a la fase de fusión en lugar de intercambiarse entre hilos durante el escaneo.

add_http_cors_header

Escribe el encabezado HTTP CORS adicional.

analyze_index_with_space_filling_curves

Si una tabla tiene una curva de llenado de espacio en su índice, por ejemplo, ORDER BY mortonEncode(x, y) o ORDER BY hilbertEncode(x, y), y la consulta tiene condiciones sobre sus argumentos, por ejemplo, x >= 10 AND x <= 20 AND y >= 20 AND y <= 30, use la curva de llenado de espacio para el análisis de índices.

analyzer_inline_views

Cuando está habilitada, el analizador reemplaza las vistas ordinarias (no materializadas y no parametrizadas) por las subconsultas que las definen, lo que permite optimizaciones entre límites como el pushdown de predicados y la poda de columnas.

any_join_distinct_right_table_keys

Habilita el comportamiento heredado del servidor ClickHouse en las operaciones ANY INNER|LEFT JOIN.
Use esta configuración solo por compatibilidad con versiones anteriores si sus casos de uso dependen del comportamiento heredado de JOIN.
Cuando el comportamiento heredado está habilitado:
  • Los resultados de las operaciones t1 ANY LEFT JOIN t2 y t2 ANY RIGHT JOIN t1 no son iguales porque ClickHouse usa una lógica de asociación de claves entre tablas de muchas a una, de izquierda a derecha.
  • Los resultados de las operaciones ANY INNER JOIN contienen todas las filas de la tabla izquierda, como ocurre con las operaciones SEMI LEFT JOIN.
Cuando el comportamiento heredado está deshabilitado:
  • Los resultados de las operaciones t1 ANY LEFT JOIN t2 y t2 ANY RIGHT JOIN t1 son iguales porque ClickHouse usa una lógica que proporciona una asociación de claves de una a muchas en las operaciones ANY RIGHT JOIN.
  • Los resultados de las operaciones ANY INNER JOIN contienen una fila por clave de las tablas izquierda y derecha.
Valores posibles:
  • 0 — El comportamiento heredado está deshabilitado.
  • 1 — El comportamiento heredado está habilitado.
Véase también:

archive_adaptive_buffer_max_size_bytes

Limita el tamaño máximo del búfer adaptativo utilizado al escribir en archivos contenedores (por ejemplo, archivos tar

arrow_flight_request_descriptor_type

Tipo de descriptor que se usará para las solicitudes de Arrow Flight. ‘path’ envía el nombre del conjunto de datos como descriptor PATH. ‘command’ envía una consulta SQL como descriptor de comando (obligatorio para Dremio). Posibles valores:
  • ‘path’ — Usa FlightDescriptor::Path (predeterminado; funciona con la mayoría de los servidores Arrow Flight)
  • ‘command’ — Usa FlightDescriptor::Command con una consulta SELECT (obligatorio para Dremio)

backup_slow_all_threads_after_retryable_s3_error

Cuando se establece en true, todos los hilos que ejecutan solicitudes S3 al mismo endpoint de copia de seguridad se ralentizan después de que una sola solicitud S3 encuentre un error de S3 reintentable, como ‘Slow Down’. Cuando se establece en false, cada hilo gestiona el backoff de las solicitudes S3 de forma independiente de los demás.

cache_warmer_threads

Solo tiene efecto en ClickHouse Cloud. Número de hilos en segundo plano para descargar de forma especulativa nuevas partes de datos a la caché del sistema de archivos cuando cache_populated_by_fetch está habilitado. Cero para deshabilitarlo.

calculate_text_stack_trace

Calcula la traza de pila textual en caso de excepciones durante la ejecución de consultas. Este es el valor predeterminado. Requiere búsquedas de símbolos que pueden ralentizar las pruebas de fuzzing cuando se ejecuta una gran cantidad de consultas erróneas. En condiciones normales, no debería desactivar esta opción.

cancel_http_readonly_queries_on_client_close

Cancela las consultas HTTP de solo lectura (por ejemplo, SELECT) cuando un cliente cierra la conexión sin esperar la respuesta. Valor predeterminado en Cloud: 1.

checksum_on_read

Valida las sumas de comprobación al leer. Está habilitada de forma predeterminada y siempre debe estarlo en producción. No espere obtener ningún beneficio por deshabilitar este ajuste. Solo debería usarse para experimentos y benchmarks. Este ajuste solo se aplica a tablas de la familia MergeTree. Las sumas de comprobación siempre se validan en otros motores de tabla y al recibir datos a través de la red.

compression

Aplica compresión genérica al cuerpo de la respuesta, por ejemplo, compression=gz. Tenga en cuenta que es independiente de Content-Encoding (compresión HTTP) y del parámetro heredado compress (compresión nativa de ClickHouse). Especificar una extensión de archivo comprimido en la ruta de la URL tiene el mismo efecto. Esta configuración de la interfaz HTTP da forma a la respuesta: se procesa antes de ejecutar la consulta (los búferes de respuesta se configuran de antemano), por lo que debe proporcionarse mediante el parámetro URL de HTTP, la extensión de archivo de la ruta de la URL o un perfil de usuario, y no mediante una cláusula SETTINGS dentro de la consulta (donde no tiene efecto y se rechaza).

connection_pool_max_wait_ms

El tiempo de espera en milisegundos de una conexión cuando el grupo de conexiones está lleno. Valores posibles:
  • Entero positivo.
  • 0 — tiempo de espera infinito.

connections_with_failover_max_tries

El número máximo de intentos de conexión con cada réplica para el motor de tabla Distributed.

convert_query_to_cnf

Cuando se establece en true, una consulta SELECT se convierte a la forma normal conjuntiva (CNF). En algunos casos, reescribir una consulta en CNF puede ejecutarse más rápido (consulta este Github issue para obtener una explicación). Por ejemplo, observa cómo la siguiente consulta SELECT no se modifica (este es el comportamiento predeterminado):
El resultado es:
Establezcamos convert_query_to_cnf en true y veamos qué cambia:
Observa que la cláusula WHERE se reescribe en CNF, pero el conjunto de resultados sigue siendo idéntico: la lógica booleana no cambia.
Valores posibles: true, false

count_matches_stop_at_empty_match

Deja de contar cuando un patrón tenga una coincidencia de longitud cero en la función countMatches.

cross_to_inner_join_rewrite

Usa inner join en lugar de comma join/cross join si hay expresiones de join en la sección WHERE. Valores: 0 - sin reescritura, 1 - aplicar si es posible para comma/cross, 2 - forzar la reescritura de todos los joins con coma, cross - si es posible

data_type_default_nullable

Permite que los tipos de datos sin modificadores explícitos NULL o NOT NULL en la definición de columnas sean Nullable. Valores posibles:
  • 1 — Los tipos de datos en las definiciones de columnas se establecen como Nullable de forma predeterminada.
  • 0 — Los tipos de datos en las definiciones de columnas se establecen como no Nullable de forma predeterminada.

decimal_check_overflow

Comprueba el desbordamiento en las operaciones aritméticas y de comparación de Decimal

deduplicate_blocks_in_dependent_materialized_views

Habilita o deshabilita la comprobación de deduplicación para las vistas materializadas que reciben datos de tablas Replicated*. Valores posibles:
  • 0 — Deshabilitado.
  • 1 — Habilitado.
Cuando está habilitado, ClickHouse realiza la deduplicación de bloques en las vistas materializadas que dependen de tablas Replicated*. Esta configuración es útil para garantizar que las vistas materializadas no contengan datos duplicados cuando se reintenta la operación de inserción debido a un fallo. Véase también

defer_partition_pruning_after_final

Cuando está habilitada (valor predeterminado), se omite la poda de particiones en consultas FINAL sobre tablas cuyas columnas de la clave de partición no forman parte de la clave de ordenación. Este es el comportamiento seguro desde el punto de vista de la corrección introducido en la 26.3: FINAL puede necesitar deduplicar filas que comparten una clave primaria pero están en distintas particiones, y la poda de particiones excluiría silenciosamente esas filas del conjunto de entrada para la deduplicación. Cuando está deshabilitada, la poda de particiones se aplica incluso con FINAL, restaurando el comportamiento anterior a la 26.3. Esto puede ser bastante más rápido para consultas con predicados WHERE sobre la columna de partición, pero solo es correcto cuando no pueden existir filas con la misma clave primaria en distintas particiones; por ejemplo, en tablas de registro de eventos cuya columna de partición se establece en el momento de la inserción y nunca cambia. Esta configuración solo afecta a las tablas particionadas cuyas columnas de la clave de partición no están incluidas en la clave de ordenación; en las demás tablas, la poda de particiones siempre se aplica. Posibles valores:
  • 0 — Aplicar la poda de particiones antes de FINAL (comportamiento anterior a la 26.3, más rápido pero inseguro en el caso general).
  • 1 — Aplazar la poda de particiones hasta después de FINAL (valor predeterminado, seguro desde el punto de vista de la corrección).

describe_compact_output

Si es true, incluye solo los nombres de las columnas y los tipos en el resultado de la consulta DESCRIBE

dialect

El dialecto que se utilizará para analizar la consulta. Valores admitidos:
  • clickhouse (predeterminado) — SQL estándar de ClickHouse.
  • kusto — Kusto Query Language. Requiere la configuración experimental allow_experimental_kusto_dialect.
  • prql — PRQL. Requiere la configuración experimental allow_experimental_prql_dialect.
  • polyglot — transpila SQL de otros dialectos (MySQL, PostgreSQL, etc.) a ClickHouse SQL. Requiere la configuración experimental allow_experimental_polyglot_dialect.
  • promql — PromQL (Prometheus Query Language) evaluado sobre una tabla TimeSeries, configurada mediante las opciones promql_database, promql_table y promql_evaluation_time.
  • clickhouse_json — en lugar de texto SQL, la consulta se interpreta como un AST JSON (la salida de parseQueryToJSON). La consulta SET se sigue reconociendo en formato sin procesar para poder volver a cambiar el dialecto. Requiere la configuración experimental enable_json_ast_dialect.

discard_query_data

Si está habilitado, el servidor omite enviar al cliente las filas del resultado de la consulta. La consulta se sigue ejecutando y registrando por completo en el servidor, y el cliente sigue recibiendo los paquetes restantes. Se usa para shadow traffic, benchmark y fuzzing. No tiene efecto en las consultas secundarias. Afecta solo al protocolo TCP nativo.

distinct_overflow_mode

Establece lo que sucede cuando la cantidad de datos supera uno de los límites. Valores posibles:
  • throw: lanzar una excepción (predeterminado).
  • break: detener la ejecución de la consulta y devolver el resultado parcial, como si los datos de origen se hubieran agotado.

do_not_merge_across_partitions_select_final

Mejora las consultas FINAL al evitar las fusiones entre distintas particiones. Cuando está habilitado, durante las consultas SELECT FINAL, las partes de distintas particiones no se fusionarán entre sí. En su lugar, la fusión solo se producirá por separado dentro de cada partición. Esto puede mejorar significativamente el rendimiento de las consultas al trabajar con tablas particionadas.

dynamic_throw_on_type_mismatch

Al aplicar una función a una columna Dynamic mediante la implementación predeterminada, controla qué ocurre con las filas cuyo tipo real es incompatible con la función:
  • true (predeterminado) — lanzar una excepción.
  • false — devolver NULL para esas filas.

enforce_strict_identifier_format

Si está habilitado, solo se permiten identificadores que contengan caracteres alfanuméricos y guiones bajos.

engine_url_skip_empty_files

Activa o desactiva la omisión de archivos vacíos en las tablas con motor URL. Valores posibles:
  • 0 — SELECT genera una excepción si el archivo vacío no es compatible con el formato solicitado.
  • 1 — SELECT devuelve un resultado vacío cuando el archivo está vacío.

exact_rows_before_limit

Cuando está habilitada, ClickHouse proporcionará el valor exacto de la estadística rows_before_limit_at_least, pero a costa de que los datos anteriores al límite deban leerse por completo

except_default_mode

Establece el modo predeterminado en la consulta EXCEPT. Posibles valores: cadena vacía, ‘ALL’, ‘DISTINCT’. Si está vacío, una consulta sin modo lanzará una excepción.

exclude_materialize_skip_indexes_on_insert

Excluye los índices de omisión especificados para que no se construyan ni se almacenen durante las operaciones INSERT. Los índices de omisión excluidos seguirán construyéndose y almacenándose durante las fusiones o mediante una consulta MATERIALIZE INDEX explícita. No tiene efecto si materialize_skip_indexes_on_insert es false. Ejemplo:

execute_exists_as_scalar_subquery

Ejecuta subconsultas EXISTS no correlacionadas como subconsultas escalares. Al igual que con las subconsultas escalares, se utiliza la caché y el plegado de constantes se aplica al resultado. Valor predeterminado en Cloud: 0.

explain_query_plan_default

Formato predeterminado que usa EXPLAIN PLAN. Posibles valores:
  • pretty (predeterminado desde la versión 26.7) — actions, compact y pretty toman true por defecto, lo que genera un plan compacto, Pretty y anotado con acciones.
  • legacy — salida anterior a la versión 26.7.
Si especificas explícitamente las opciones actions, compact o pretty en la sentencia EXPLAIN (por ejemplo, EXPLAIN actions = 0, compact = 0, pretty = 0 SELECT ...), esta configuración siempre se sobrescribe. EXPLAIN PLAN con json = 1 o distributed = 1 mantiene los valores predeterminados de legacy (anteriores a la versión 26.7) independientemente de esta configuración, a menos que actions, compact o pretty se establezcan explícitamente. La salida Pretty no puede representar resultados JSON ni planes distribuidos por segmento, por lo que esos modos solo se muestran correctamente en el formato legacy.

extract_key_value_pairs_max_pairs_per_row

Alias: extract_kvp_max_pairs_per_row Número máximo de pares que puede generar la función extractKeyValuePairs. Se utiliza como medida de protección para evitar un consumo excesivo de memoria.

extremes

Indica si se deben contabilizar los valores extremos (los mínimos y máximos de las columnas del resultado de una consulta). Acepta 0 o 1. El valor predeterminado es 0 (deshabilitado). Para obtener más información, consulte la sección “Valores extremos”.

fallback_to_stale_replicas_for_distributed_queries

Fuerza una consulta a una réplica obsoleta si no hay datos actualizados disponibles. Consulte Replicación. ClickHouse selecciona la réplica más adecuada entre las réplicas obsoletas de la tabla. Se utiliza al realizar SELECT desde una tabla distribuida que apunta a tablas replicadas. De forma predeterminada, 1 (habilitado).

file_like_engine_default_partition_strategy

Estrategia de partición predeterminada para motores tipo archivo. Se aplica solo cuando la ruta no contiene un marcador de posición {_partition_id}: dicha ruta solo es compatible con la estrategia wildcard, por lo que siempre implica wildcard.

filesystem_prefetches_limit

Número máximo de prefetches. Cero significa que no hay límite. Se recomienda más la configuración filesystem_prefetches_max_memory_usage si desea limitar el número de prefetches

filter

Añade una cláusula WHERE a la consulta envolviéndola en una subconsulta. Varios filtros se combinan con AND. La interfaz HTTP permite varios parámetros URL filter, que se combinan con AND, en orden, y con el valor de esta configuración. Esta es una configuración para la construcción de consultas que el motor aplica a la consulta analizada (envolviéndola como una tabla derivada), por lo que se combina con la consulta existente y funciona con todos los protocolos: puede proporcionarse mediante el parámetro URL HTTP, una cláusula SETTINGS dentro de la consulta o un perfil de usuario. Afecta a las consultas SELECT / UNION que producen resultados. En una consulta de escritura (INSERT … SELECT, CREATE … AS SELECT), solo surte efecto cuando el SELECT de origen la incluye en su propia cláusula SETTINGS; un valor heredado de un perfil o una sesión, o establecido en la propia instrucción INSERT / CREATE, no se propaga al SELECT de origen; se aplica la misma regla de no propagación que a cualquier otra configuración.
filter no es un mecanismo de control de acceso y no debe utilizarse como sustituto de las políticas de seguridad a nivel de fila ni de la configuración additional_table_filters. Solo añade un WHERE a la subconsulta envolvente, por lo que los datos subyacentes se siguen leyendo y procesando antes de aplicar el filtro; una consulta puede observar las filas excluidas por el filtro durante el procesamiento (por ejemplo, con throwIf para filtrar información a través de la ruta de error). Use seguridad a nivel de fila o additional_table_filters cuando el objetivo sea restringir las filas a las que puede acceder un usuario.

final

Aplica automáticamente el modificador FINAL a todas las tablas de una consulta en las que FINAL sea aplicable, incluidas las tablas unidas, las tablas en subconsultas y las tablas distribuidas. Posibles valores:
  • 0 - deshabilitado
  • 1 - habilitado
Ejemplo:

finalize_projection_parts_synchronously

Si se habilita, las partes de proyección se finalizan de forma síncrona durante INSERT, lo que reduce el uso máximo de memoria a costa de un menor paralelismo de carga en S3. De forma predeterminada, el flujo de salida de cada proyección se mantiene activo hasta que se finaliza toda la parte (incluidas todas las proyecciones), lo que permite solapar las cargas en S3, pero aumenta el uso máximo de memoria de forma proporcional al número de proyecciones. Esta configuración solo afecta a INSERT; merge y mutation ya finalizan las proyecciones de forma síncrona.

flatten_nested

Establece el formato de los datos de las columnas Nested. Valores posibles:
  • 1 — La columna Nested se aplana en arrays separados.
  • 0 — La columna Nested permanece como un único array de tuplas.
Uso Si este ajuste se establece en 0, es posible usar un nivel arbitrario de anidamiento. Ejemplos Consulta:
Resultado:
Consulta:
Resultado:

format

Sobrescribe el FORMAT de la consulta, tanto de entrada como de salida. Tiene prioridad sobre el formato especificado en la consulta y en la extensión de archivo. Las configuraciones más específicas input_format y output_format tienen prioridad sobre esta configuración genérica format para sus respectivas direcciones.

framing_output_format

Permite multiplexar distintas partes de la respuesta de la consulta en un único flujo: fragmentos de datos, totales y extremos, paquetes de progreso, eventos de perfil (métricas) y registros del servidor; todo lo que admite el protocolo nativo. Los formatos de enmarcado son independientes de los formatos de salida: encapsulan los bytes producidos por cualquier formato de salida, separando y, potencialmente, codificando estos fragmentos de bytes. La concatenación de las cargas útiles de todos los paquetes data, totals y extremes es exactamente lo que habría producido el formato de salida sin enmarcado. Los paquetes auxiliares (progreso, registros, eventos de perfil y excepciones) se representan como JSON. Hay una excepción deliberada: un formato de salida que omite los totales y extremos en su salida sin enmarcado porque no puede representarlos (la familia JSONCompactEachRow) sí los emite con enmarcado, en los paquetes totals y extremes. Para dichos formatos, la concatenación de los paquetes data por sí sola es exactamente la salida sin enmarcado, y los paquetes totals y extremes contienen filas adicionales que la salida sin enmarcado no incluye. Los registros del servidor se incluyen si se ha configurado send_logs_level, y los eventos de perfil se incluyen si send_profile_events está habilitada (se envían como máximo una vez cada interactive_delay microsegundos, y los paquetes de progreso también se limitan mediante interactive_delay). Un flujo correcto termina con un paquete progress final que contiene los contadores finales (result_rows, result_bytes, memory_usage), escrito después de los paquetes finales log y profile_events emitidos al registrar la finalización de la consulta, al igual que el paquete de progreso final del protocolo nativo. En caso de error, el paquete exception es el último paquete, salvo en un caso: cuando el error ocurre después de que parte del flujo de paquetes ya se haya incluido en la respuesta y ya no pueda descartarse (si la escritura de un paquete falla a mitad de camino, falla la entrega del propio paquete exception, o el flujo de respuesta falla durante el vaciado o el cierre), el enmarcado falla de forma segura: el flujo termina sin un paquete exception final, y el cliente recibe una respuesta truncada y una conexión HTTP interrumpida en lugar de un paquete final que pueda analizarse. Nunca se añade nada después de un flujo parcial de paquetes, por lo que nunca se mezcla con él un cuerpo de error HTTP sin formato. Todo lo que una consulta habilita únicamente mediante su propia cláusula SETTINGS —un formato de enmarcado, send_logs_level o send_profile_events— no se conoce hasta que se ha analizado la consulta, por lo que los registros y eventos de perfil correspondientes solo se capturan a partir de la ejecución de la consulta. Los registros y eventos de perfil de las fases de análisis sintáctico, planificación y análisis solo se capturan cuando la configuración procede de la sesión o de la URL. Por ejemplo, una consulta que falla durante el análisis (como una referencia a una tabla desconocida) y habilita send_logs_level solo en su cláusula SETTINGS entrega únicamente el paquete exception, no los registros de la fase de análisis; configure send_logs_level en la sesión o en la URL para capturarlos. La misma salvedad sobre el descubrimiento tardío se aplica a send_logs_source_regexp: la cola de registros filtra las entradas por origen en el momento en que se captura cada una, por lo que una expresión regular establecida solo en la propia cláusula SETTINGS de la consulta surte efecto a partir de la ejecución de la consulta. Los paquetes log de las fases de análisis sintáctico, planificación y análisis se filtran según el valor de la configuración de la sesión o de la URL (no se filtran si no está configurado allí), por lo que pueden incluir orígenes que no coincidan con la expresión regular de nivel de consulta; a la inversa, las entradas descartadas por una expresión regular más restrictiva de la sesión o la URL no se recuperan mediante otra más amplia de nivel de consulta. Configure send_logs_source_regexp en la sesión o en la URL para filtrar todo el ciclo de vida de la consulta. Actualmente, la configuración se aplica al protocolo HTTP y se ignora en otras interfaces. Valores posibles:
  • None - enruta de forma transparente todo lo aplicable (datos, totales, extremos, progreso) al formato de salida e ignora todo lo que no lo es (métricas, registros), por lo que todo funciona como de forma predeterminada.
  • EventStream - encapsula los paquetes como eventos HTTP enviados por el servidor (text/event-stream). Cada paquete se envía como un evento con el nombre correspondiente: data, totals, extremes, progress, log, profile_events, exception. El progreso y otros paquetes auxiliares se envían como JSON. Dado que los eventos enviados por el servidor son un protocolo de texto que trata los saltos de línea (incluidos los retornos de carro, \r) como delimitadores, un bloque de datos formateados se codifica en Base64 en un único campo data del evento, que se decodifica en la carga útil completamente formateada con todos sus saltos de línea; Content-Type incluye un parámetro payload=base64 para indicarlo. Cualquier formato de salida, ya sea de texto o binario, puede transportarse de esta forma con exactitud de bytes.
  • JSONEachPacketBase64 - cada paquete es un objeto JSON en una línea independiente y los datos formateados se codifican en Base64, por ejemplo: {"packet":"data","data":"eyJ4IjoxfQo="}. Adecuado para formatos de salida binarios.
  • JSONEachPacketString - cada paquete es un objeto JSON en una línea independiente y los datos formateados se incluyen en una cadena, por ejemplo: {"packet":"data","data":"{\"x\":1}\n"}.
JSONEachPacketString coloca los bytes de la carga útil en una cadena JSON sin validarlos ni recodificarlos. Las columnas String y FixedString pueden contener bytes arbitrarios, por lo que los formatos de salida de texto (como JSONEachRow, TSV o CSV) pueden emitir UTF-8 no válido para dichos valores, igual que el propio JSONEachRow de ClickHouse con el valor predeterminado output_format_json_validate_utf8 = 0; por tanto, no se garantiza que el flujo NDJSON resultante sea UTF-8 válido. Use JSONEachPacketBase64 para transportar bytes arbitrarios con exactitud de bytes. Ejemplo:
Resultado:

fsync_metadata

Habilita o deshabilita fsync al escribir archivos .sql. Está habilitado de forma predeterminada. Puede tener sentido deshabilitarlo si el server tiene millones de tablas pequeñas que se crean y eliminan constantemente.

functions_h3_default_if_invalid

Si es false, las funciones h3, por ejemplo h3CellAreaM2, lanzan una excepción si la entrada no es válida. Si es true, devuelven 0 o el valor predeterminado.

geo_distance_returns_float64_on_float64_arguments

Si los cuatro argumentos de las funciones geoDistance, greatCircleDistance y greatCircleAngle son Float64, estas devuelven Float64 y emplean doble precisión en los cálculos internos. En versiones anteriores de ClickHouse, las funciones siempre devolvían Float32.

geotoh3_argument_order

La función ‘geoToH3’ acepta (lon, lat) si se establece en ‘lon_lat’ y (lat, lon) si se establece en ‘lat_lon’.

glob_expansion_max_elements

Máximo número de direcciones permitidas (para almacenamiento externo, funciones de tabla, etc.).

h3togeo_lon_lat_result_order

La función ‘h3ToGeo’ devuelve (lon, lat) si es true; de lo contrario, (lat, lon).

handshake_timeout_ms

Tiempo de espera, en milisegundos, para recibir el paquete Hello de las réplicas durante el handshake.

hedged_connection_timeout_ms

Tiempo de espera para establecer una conexión con una réplica en solicitudes hedged

highlight_max_matches_per_row

Establece el número máximo de coincidencias resaltadas por fila en la función highlight. Sirve para evitar un uso excesivo de memoria al resaltar patrones muy repetitivos en textos extensos. Valores posibles:
  • Entero positivo.
El tamaño de la lista dinámica de candidatos durante la búsqueda en el índice de similitud vectorial, también conocido como ‘ef_search’.

hsts_max_age

Tiempo de expiración de HSTS. 0 significa desactivar HSTS.

idle_connection_timeout

Tiempo de espera para cerrar conexiones TCP inactivas tras el número especificado de segundos. Valores posibles:
  • Entero positivo (0: cerrar inmediatamente, tras 0 segundos).

inject_random_order_for_select_without_order_by

Si está habilitada, inserta ‘ORDER BY rand()’ en las consultas SELECT sin cláusula ORDER BY. Se aplica solo cuando la profundidad de la subconsulta = 0. Las subconsultas e INSERT INTO … SELECT no se ven afectados. Si la estructura de nivel superior es UNION, ‘ORDER BY rand()’ se inserta en cada rama de forma independiente. Solo es útil para pruebas y desarrollo (la ausencia de ORDER BY es una fuente de resultados no deterministas en las consultas).

input_format

Sobrescribe el formato de entrada de la consulta. Tiene prioridad sobre el formato especificado en ella.

interactive_delay

El intervalo, en microsegundos, para comprobar si se ha cancelado la ejecución de la solicitud y enviar el progreso.

intersect_default_mode

Establece el modo predeterminado en la consulta INTERSECT. Valores posibles: cadena vacía, ‘ALL’, ‘DISTINCT’. Si está vacío, una consulta sin modo generará una excepción.

least_greatest_legacy_null_behavior

Si está habilitada, las funciones ‘least’ y ‘greatest’ devuelven NULL si alguno de sus argumentos es NULL.

legacy_column_name_of_tuple_literal

Enumera todos los nombres de los elementos de los literales de tupla grandes en los nombres de sus columnas en lugar del hash. Esta configuración existe solo por motivos de compatibilidad. Tiene sentido establecerla en ‘true’ al realizar una actualización progresiva del clúster desde una versión anterior a la 21.7 a una posterior.

límite

Establece el número máximo de filas que se obtienen del resultado de la consulta. Ajusta el valor establecido por la cláusula LIMIT. El valor se pasa directamente a LIMIT y acepta todo lo que admite LIMIT, incluidos los valores negativos (cuenta desde el final del resultado) y las fracciones en (0, 1) (interpretadas como una proporción del resultado). Valores posibles:
  • 0 — El número de filas no está limitado.
  • Entero positivo — número exacto de filas.
  • Entero negativo — devuelve las últimas N filas.
  • Un número real en el intervalo abierto (0, 1) — devuelve esa fracción del resultado.
Esta configuración afecta a las consultas SELECT / UNION que generan resultados. En una consulta de escritura (INSERT … SELECT, CREATE … AS SELECT), solo tiene efecto cuando el SELECT de origen la incluye en su propia cláusula SETTINGS; un valor heredado de un perfil o una sesión, o establecido en la propia sentencia INSERT / CREATE, no se propaga al SELECT de origen: se aplica la misma regla de no propagación que para cualquier otra configuración.

load_marks_asynchronously

Carga las marcas de MergeTree de forma asíncrona Valor predeterminado en Cloud: 1.

lock_acquire_timeout

Define cuántos segundos espera una solicitud de bloqueo antes de fallar. El tiempo de espera de bloqueo se usa para proteger frente a interbloqueos al ejecutar operaciones de lectura/escritura con tablas. Cuando el tiempo de espera expira y la solicitud de bloqueo falla, el servidor de ClickHouse lanza una excepción “¡El intento de bloqueo excedió el tiempo de espera! Se evitó un posible interbloqueo. El cliente debería reintentar.” con el código de error DEADLOCK_AVOIDED. Valores posibles:
  • Entero positivo (en segundos).
  • 0 — Sin tiempo de espera de bloqueo.

low_priority_query_wait_time_ms

Cuando se utiliza el mecanismo de priorización de consultas (consulte la configuración priority), las consultas de baja prioridad esperan a que terminen las consultas de mayor prioridad. Esta configuración especifica cuánto tiempo deben esperar.

make_distributed_plan

Crea un plan de consulta distribuida. Al habilitarlo, se ajustan automáticamente las configuraciones que controlan funcionalidades que los planes de consulta distribuida aún no admiten:
  • enable_parallel_replicas = 0 y automatic_parallel_replicas_mode = 0 — el plan distribuido realiza su propia distribución del trabajo;
  • correlated_subqueries_use_in_memory_buffer = 0;
  • use_skip_indexes_on_data_read = 0;
  • compile_expressions = 0;
  • query_plan_direct_read_from_text_index = 0.

merge_table_max_tables_to_look_for_schema_inference

Al crear una tabla Merge sin un esquema explícito o al usar la función de tabla merge, se infiere el esquema como una unión de no más del número especificado de tablas coincidentes. Si hay un número mayor de tablas, el esquema se inferirá a partir del primer número especificado de tablas.

mongodb_throw_on_unsupported_query

Si está habilitada, las tablas de MongoDB devolverán un error cuando no se pueda generar una consulta de MongoDB. De lo contrario, ClickHouse lee la tabla completa y la procesa localmente. Esta opción no se aplica cuando ‘allow_experimental_analyzer=0’.

multiple_joins_try_to_keep_original_names

No añadir alias a la lista de expresiones de nivel superior al reescribir múltiples joins

normalize_function_names

Normalizar los nombres de las funciones a su forma canónica

offset

Establece el número de filas que se omiten antes de empezar a devolver filas de la consulta. Ajusta el desplazamiento establecido por la cláusula OFFSET. El valor se transfiere a OFFSET y admite todo lo que admite OFFSET, incluidos valores negativos y fracciones en (0, 1). Valores posibles:
  • 0 — No se omite ninguna fila.
  • Entero positivo.
  • Entero negativo.
  • Un número real en el intervalo abierto (0, 1) — se omite esa fracción del resultado.
Ejemplo Tabla de entrada:
Consulta:
Resultado:
Esta configuración define el comportamiento de las consultas SELECT / UNION que producen resultados. En una consulta de escritura (INSERT … SELECT, CREATE … AS SELECT), solo surte efecto cuando el SELECT de origen la incluye en su propia cláusula SETTINGS; un valor heredado de un perfil o una sesión, o establecido en la propia sentencia INSERT / CREATE, no se propaga al SELECT de origen, conforme a la misma regla de no propagación aplicable a cualquier otra configuración.

order

Añade una cláusula ORDER BY a la consulta como subconsulta envolvente. Acepta una lista arbitraria de expresiones. Esta es una configuración de construcción de consultas que el engine aplica a la consulta analizada (envolviéndola como una tabla derivada), por lo que se combina con la consulta existente y funciona en todos los protocolos: se puede proporcionar mediante el parámetro de URL HTTP, una cláusula SETTINGS en la consulta o un perfil de usuario. Da forma a las consultas SELECT / UNION que generan resultados. En una consulta de escritura (INSERT … SELECT, CREATE … AS SELECT), solo surte efecto cuando el SELECT de origen la incluye en su propia cláusula SETTINGS; un valor heredado de un perfil o una sesión, o establecido en la propia sentencia INSERT / CREATE, no se propaga al SELECT de origen, igual que ocurre con cualquier otra configuración.

output_format

Sobrescribe el formato de salida de la consulta. Tiene prioridad sobre el formato especificado en la consulta, la extensión de archivo o mediante default_format.

página

Establece el número de página de los resultados paginados. Equivale a offset = limit * (page - 1). Solo se puede especificar cuando se establece limit y no offset. Las páginas se numeran a partir de 1. Admite los mismos valores negativos o fraccionarios que limit y offset. Es una configuración de construcción de consultas que el engine aplica a la consulta analizada (envolviéndola como una tabla derivada), por lo que se combina con la consulta existente y funciona con todos los protocolos: se puede proporcionar mediante el parámetro URL de HTTP, una cláusula SETTINGS en la consulta o un perfil de usuario. Afecta a las consultas SELECT / UNION que producen resultados. En una consulta de escritura (INSERT … SELECT, CREATE … AS SELECT), solo surte efecto cuando el SELECT de origen la incluye en su propia cláusula SETTINGS; un valor heredado de un perfil o una sesión, o establecido en la propia instrucción INSERT / CREATE, no se propaga al SELECT de origen: se aplica la misma regla de no propagación que a cualquier otra configuración.

paimon_target_snapshot_id

Lectura de la instantánea de destino a nivel de consulta para el modo incremental de Paimon. Cuando es >0, el lector solo recuperará el delta del snapshot_id especificado sin avanzar la marca de agua confirmada. Predeterminado: -1 (deshabilitado)

parallelize_output_from_storages

Paraleliza la salida en la etapa de lectura desde el almacenamiento. Permite paralelizar el procesamiento de consultas justo después de la lectura desde el almacenamiento, cuando sea posible

partial_result_on_first_cancel

Permite que la consulta devuelva un resultado parcial después de cancelarse.

per_part_index_stats

Registra estadísticas de índices por parte

poll_interval

Bloquea el bucle de espera de la consulta en el servidor durante el número de segundos especificado.

polyglot_dialect

Dialecto SQL de origen del transpilador polyglot (p. ej., ‘sqlite’, ‘mysql’, ‘postgresql’, ‘snowflake’, ‘duckdb’).

postgresql_fault_injection_probability

Probabilidad aproximada de que fallen las consultas internas de PostgreSQL (para la replicación). El valor válido está en el intervalo [0.0f, 1.0f]

predicate_statistics_sample_rate

Recopila estadísticas de selectividad de predicados en system.predicate_statistics_log. Cuando se establece en N > 0, se toma una muestra de aproximadamente 1/N de las consultas (en función del ID de la consulta). 0 significa que está deshabilitado.

prefetch_buffer_size

El tamaño máximo del búfer de precarga para leer desde el sistema de archivos. Los valores superiores a 256 MiB se ajustan a 256 MiB, ya que un búfer de lectura nunca necesita ser mayor. Permite mostrar nombres de tipos con anidamiento profundo de forma legible y con sangrías en la consulta DESCRIBE y en la función toTypeName(). Ejemplo:

priority

Prioridad de la consulta. 1: la más alta; cuanto mayor sea el valor, menor será la prioridad; 0: no usar prioridades.

push_external_roles_in_interserver_queries

Permite enviar los roles de usuario desde el nodo de origen a otros nodos al ejecutar una consulta.

query_metric_log_interval

El intervalo, en milisegundos, con el que se recopila el query_metric_log de las consultas individuales. Si se establece en cualquier valor negativo, tomará el valor collect_interval_milliseconds de la configuración query_metric_log o, si no está presente, usará 1000 de forma predeterminada. Para deshabilitar la recopilación de una sola consulta, establezca query_metric_log_interval en 0. Valor predeterminado: -1

queue_max_wait_ms

El tiempo de espera en la cola de solicitudes si el número de solicitudes concurrentes supera el máximo.

rabbitmq_max_wait_ms

El tiempo de espera para leer de RabbitMQ antes de volver a intentarlo.

readonly

0: sin restricciones de solo lectura. 1: solo solicitudes de lectura, así como el cambio de configuraciones permitidas explícitamente. 2: solo solicitudes de lectura, así como el cambio de configuraciones, excepto la configuración ‘readonly’.

recursive_cte_max_steps_in_type_inference

Número máximo de iteraciones para inferir los tipos de las columnas en CTE recursivas. Los tipos de las columnas se determinan aplicando iterativamente getLeastSupertype a las partes no recursiva y recursiva de la UNION ALL hasta alcanzar la convergencia. Establézcalo en 0 para desactivar la ampliación de tipos y usar solo los tipos de la parte no recursiva.

regexp_max_matches_per_row

Establece el número máximo de coincidencias de una única expresión regular por fila. Úselo para evitar la sobrecarga de memoria al usar una expresión regular codiciosa en la función extractAllGroupsHorizontal. Posibles valores:
  • Entero positivo.

reject_expensive_hyperscan_regexps

Rechaza patrones cuya evaluación con hyperscan probablemente resulte costosa (debido a la explosión de estados del NFA)

remerge_sort_lowered_memory_bytes_ratio

Si el uso de memoria después del remerge no se reduce en esta proporción, el remerge se deshabilitará.

remote_read_min_bytes_for_seek

Cantidad mínima de bytes necesaria para que una lectura remota (url, s3) haga seek en lugar de leer ignorando datos.

rename_files_after_processing

  • Type: String
  • Valor predeterminado: Cadena vacía
Esta configuración permite especificar un patrón de cambio de nombre para los archivos procesados por la función de tabla file. Cuando esta opción está establecida, todos los archivos leídos por la función de tabla file se renombrarán según el patrón especificado con placeholders, siempre que el procesamiento de los archivos haya finalizado correctamente.

Marcadores de posición

  • %a — Nombre completo del archivo original (p. ej., “sample.csv”).
  • %f — Nombre del archivo original sin extensión (p. ej., “sample”).
  • %e — Extensión del archivo original con punto (p. ej., “.csv”).
  • %t — Marca de tiempo (en microsegundos).
  • %% — Signo de porcentaje (”%”).

Ejemplo

  • Opción: --rename_files_after_processing="processed_%f_%t%e"
  • Consulta: SELECT * FROM file('sample.csv')
Si sample.csv se lee correctamente, el archivo se renombrará a processed_sample_1683473210851438.csv

replication_wait_for_inactive_replica_timeout

Especifica cuánto tiempo (en segundos) hay que esperar para que las réplicas inactivas ejecuten consultas ALTER, OPTIMIZE o TRUNCATE. Valores posibles:
  • 0 — No esperar.
  • Entero negativo — Esperar indefinidamente.
  • Entero positivo — Número de segundos de espera.

reserve_memory

Se usa en la planificación de cargas de trabajo. Es la cantidad mínima de RAM reservada para ejecutar una consulta en un solo servidor. La reserva se realiza a través de la jerarquía WORKLOAD usando el valor de la configuración de consulta workload. Si no hay suficiente memoria disponible para la carga de trabajo, la consulta no se inicia y queda en estado pendiente hasta que la reserva pueda satisfacerse. Un valor de 0 significa que no hay reserva. Esta configuración solo tiene efecto si se crea el recurso MEMORY RESERVATION.

restore_replicated_merge_tree_to_shared_merge_tree

Sustituye el motor de tabla de ReplicatedMergeTree por SharedMergeTree durante RESTORE. Valor predeterminado en Cloud: 1.

result_overflow_mode

Establece qué hacer si el volumen del resultado supera alguno de los límites. Valores posibles:
  • throw: lanzar una excepción (predeterminado).
  • break: detener la ejecución de la consulta y devolver el resultado parcial, como si se hubieran agotado los datos de origen.
Usar ‘break’ es similar a usar LIMIT. Break interrumpe la ejecución solo a nivel de bloque. Esto significa que la cantidad de filas devueltas es mayor que max_result_rows, es múltiplo de max_block_size y depende de max_threads. Ejemplo
Query
Result

rows_before_aggregation

Si está habilitado, ClickHouse proporcionará el valor exacto de la estadística rows_before_aggregation; representa el número de filas leídas antes de la agregación

secondary_indices_enable_bulk_filtering

Activa el algoritmo de filtrado masivo para los índices. Se espera que siempre ofrezca mejores resultados, pero esta configuración se mantiene por compatibilidad y control.

select

Envuelve la consulta en una subconsulta con una lista explícita de expresiones SELECT. Si no está vacía, la consulta que produce resultados se envuelve como SELECT <expr_list> FROM (<query>). Es una configuración de construcción de consultas que el motor aplica a la consulta analizada (envolviéndola como una tabla derivada), por lo que se combina con la consulta existente y funciona con todos los protocolos: se puede especificar mediante el parámetro URL de HTTP, una cláusula SETTINGS en la consulta o un perfil de usuario. Da forma a las consultas SELECT / UNION que producen resultados. En el caso de una consulta de escritura (INSERT … SELECT, CREATE … AS SELECT), solo surte efecto cuando el SELECT de origen la incluye en su propia cláusula SETTINGS; un valor heredado de un perfil o una sesión, o establecido en la propia sentencia INSERT / CREATE, no se propaga al SELECT de origen; se aplica la misma regla de no propagación que a cualquier otra configuración.

select_sequential_consistency

El comportamiento de esta configuración difiere entre SharedMergeTree y ReplicatedMergeTree; consulte SharedMergeTree consistency para obtener más información sobre el comportamiento de select_sequential_consistency en SharedMergeTree.
Habilita o deshabilita la consistencia secuencial para las consultas SELECT. Requiere que insert_quorum_parallel esté deshabilitado (habilitado de forma predeterminada). Valores posibles:
  • 0 — Deshabilitado.
  • 1 — Habilitado.
Uso Cuando la consistencia secuencial está habilitada, ClickHouse permite al client ejecutar la consulta SELECT solo en aquellas réplicas que contienen datos de todas las consultas INSERT anteriores ejecutadas con insert_quorum. Si el client hace referencia a una réplica parcial, ClickHouse generará una excepción. La consulta SELECT no incluirá datos que aún no se hayan escrito en el quórum de réplicas. Cuando insert_quorum_parallel está habilitado (el valor predeterminado), select_sequential_consistency no funciona. Esto se debe a que las consultas INSERT en paralelo pueden escribirse en distintos conjuntos de réplicas de quórum, por lo que no hay garantía de que una sola réplica haya recibido todas las escrituras. Véase también:

session_timezone

Establece la zona horaria implícita de la sesión o consulta actual. La zona horaria implícita es la zona horaria que se aplica a los valores de tipo DateTime/DateTime64 que no tienen una zona horaria especificada de forma explícita. Esta configuración tiene prioridad sobre la zona horaria implícita configurada globalmente (a nivel del servidor). Un valor de ” (cadena vacía) significa que la zona horaria implícita de la sesión o consulta actual es igual a la zona horaria del servidor. Puede usar las funciones timeZone() y serverTimeZone() para obtener la zona horaria de la sesión y la del servidor. Valores posibles:
  • Cualquier nombre de zona horaria de system.time_zones, por ejemplo, Europe/Berlin, UTC o Zulu
Ejemplos:
Asigne la zona horaria de la sesión ‘America/Denver’ al DateTime interno sin una zona horaria especificada explícitamente:
No todas las funciones que procesan DateTime/DateTime64 respetan session_timezone. Esto puede provocar errores sutiles. Consulta el siguiente ejemplo y su explicación.
Esto sucede debido a distintos flujos de análisis:
  • toDateTime() sin una zona horaria especificada explícitamente, usado en la primera consulta SELECT, respeta la configuración session_timezone y la zona horaria global.
  • En la segunda consulta, se interpreta un DateTime a partir de un String y hereda el tipo y la zona horaria de la columna existente d. Por lo tanto, no se respetan la configuración session_timezone ni la zona horaria global.
Véase también

set_overflow_mode

Establece qué sucede cuando la cantidad de datos supera uno de los límites. Valores posibles:
  • throw: lanzar una excepción (predeterminado).
  • break: dejar de ejecutar la consulta y devolver el resultado parcial, como si los datos de origen se hubieran agotado.

single_join_prefer_left_table

Para un solo JOIN, en caso de ambigüedad de identificadores, se prefiere la tabla de la izquierda

skip_redundant_aliases_in_udf

Los alias redundantes se omiten (se sustituyen) en las funciones definidas por el usuario para simplificar su uso. Valores posibles:
  • 1 — Los alias se omiten (se sustituyen) en las UDF.
  • 0 — Los alias no se omiten (se sustituyen) en las UDF.
Ejemplo La diferencia entre habilitado y deshabilitado: Consulta:
Resultado:
Consulta:
Resultado:

sleep_after_receiving_query_ms

Tiempo de espera tras recibir una consulta en TCPHandler

snappy_mode

Controla el formato de transmisión usado para la compresión snappy en rutas genéricas de E/S de archivos, como file y url. HTTP Content-Encoding: snappy siempre usa el formato framing e ignora esta configuración. Ten en cuenta que el formato bruto de bloques snappy producido por una única llamada a snappy::Compress (por ejemplo, las cargas útiles del protocolo remoto de Prometheus gestionadas por SnappyBasicReadBuffer) es un formato de transmisión independiente y específico del protocolo, y no está controlado por esta configuración. Valores posibles:
  • basic — Formato de bloques snappy de Hadoop. Compatible con archivos leídos y escritos por Hadoop. Admite lectura y escritura.
  • framed — Formato framing de Snappy, el formato estándar de streaming definido por Google. Admite lectura y escritura.

sort

Añade una cláusula ORDER BY simple a la consulta envolviéndola en una subconsulta. Acepta una lista de identificadores o referencias posicionales a columnas (enteros positivos) separada por comas, con un prefijo opcional + (ASC) o - (DESC). Ejemplo: sort=a,-b ordena por a de forma ascendente y por b de forma descendente; sort=1,-2 ordena por la primera columna de forma ascendente y por la segunda de forma descendente. No se puede combinar con order. Esta es una configuración de construcción de consultas que el motor aplica a la consulta analizada (envolviéndola como una tabla derivada), por lo que se combina con la consulta existente y funciona en todos los protocolos: se puede especificar mediante el parámetro URL de HTTP, una cláusula SETTINGS dentro de la consulta o un perfil de usuario. Da forma a las consultas SELECT / UNION que producen resultados. En una consulta de escritura (INSERT … SELECT, CREATE … AS SELECT), solo tiene efecto cuando el SELECT de origen la incluye en su propia cláusula SETTINGS; un valor heredado de un perfil o sesión, o establecido en la propia sentencia INSERT / CREATE, no se propaga al SELECT de origen, igual que ocurre con cualquier otra configuración.

sort_overflow_mode

Establece qué sucede si el número de filas recibidas antes de la ordenación supera uno de los límites. Valores posibles:
  • throw: lanzar una excepción.
  • break: detener la ejecución de la consulta y devolver el resultado parcial.

splitby_max_substrings_includes_remaining_string

Controla si la función splitBy*() con el argumento max_substrings > 0 incluirá la cadena restante en el último elemento del array de resultados. Valores posibles:
  • 0 - La cadena restante no se incluirá en el último elemento del array de resultados.
  • 1 - La cadena restante se incluirá en el último elemento del array de resultados. Este es el comportamiento de la función split() de Spark y del método ‘string.split()’ de Python.

stop_refreshable_materialized_views_on_startup

Al iniciar el servidor, impide la planificación de las vistas materializadas actualizables, como si se hubiera ejecutado SYSTEM STOP VIEWS. Después, puedes iniciarlas manualmente con SYSTEM START VIEWS o SYSTEM START VIEW <name>. También se aplica a las vistas creadas posteriormente. No tiene efecto sobre las vistas materializadas no actualizables.

tcp_keep_alive_timeout

El tiempo, en segundos, que debe permanecer inactiva la conexión antes de que TCP comience a enviar sondas de keepalive

temporary_data_in_cache_reserve_space_wait_lock_timeout_milliseconds

Tiempo de espera para bloquear la caché al reservar espacio para datos temporales en la caché del sistema de archivos

throw_if_no_data_to_insert

Permite o prohíbe los INSERT vacíos; está habilitada de forma predeterminada (lanza un error si el insert está vacío). Solo se aplica a los INSERT que usan clickhouse-client o la interfaz gRPC.

timeout_before_checking_execution_speed

Comprueba que la velocidad de ejecución no sea demasiado baja (no inferior a min_execution_speed) una vez transcurrido el tiempo especificado en segundos.

transfer_overflow_mode

Establece qué sucede cuando la cantidad de datos supera uno de los límites. Valores posibles:
  • throw: lanzar una excepción (por defecto).
  • break: dejar de ejecutar la consulta y devolver el resultado parcial, como si los datos de origen se hubieran agotado.

transform_null_in

Habilita la igualdad entre valores NULL para el operador IN. De forma predeterminada, los valores NULL no se pueden comparar porque NULL significa un valor indefinido. Por lo tanto, la comparación expr = NULL siempre debe devolver false. Con esta configuración, NULL = NULL devuelve true para el operador IN. Valores posibles:
  • 0 — La comparación de valores NULL en el operador IN devuelve false.
  • 1 — La comparación de valores NULL en el operador IN devuelve true.
Ejemplo Considere la tabla null_in:
Consulta:
Resultado:
Consulta:
Resultado:
Véase también

traverse_shadow_remote_data_paths

Recorre los datos congelados (directorio shadow), además de los datos reales de la tabla, al consultar system.remote_data_paths

union_default_mode

Establece un modo para combinar los resultados de las consultas SELECT. Esta configuración solo se usa con UNION cuando no se especifica explícitamente UNION ALL ni UNION DISTINCT. Valores posibles:
  • 'DISTINCT' — ClickHouse devuelve como resultado de la combinación de consultas las filas sin duplicados.
  • 'ALL' — ClickHouse devuelve como resultado de la combinación de consultas todas las filas, incluidas las duplicadas.
  • '' — ClickHouse genera una excepción cuando se usa con UNION.
Vea ejemplos en UNION.

unknown_packet_in_send_data

Envía un paquete desconocido en lugar del enésimo paquete de datos

variant_throw_on_type_mismatch

Al aplicar una función a una columna Variant mediante la implementación predeterminada, controla qué ocurre con las filas cuyo tipo real es incompatible con la función:
  • true (por defecto) — lanzar una excepción.
  • false — devolver NULL para esas filas.

wait_changes_become_visible_after_commit_mode

Esperar a que los cambios confirmados sean realmente visibles en la instantánea más reciente

workload

Nombre del workload que se utilizará para acceder a los recursos

write_full_path_in_iceberg_metadata

Escribir rutas completas (incluido s3://) en los archivos de metadatos de Iceberg.

zstd_window_log_max

Permite seleccionar el valor máximo de window log de ZSTD (no se utilizará para la familia MergeTree)
Última modificación el 18 de agosto de 2026