Estos ajustes están disponibles en system.settings y se generan automáticamente a partir del código fuente.
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.
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.
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.
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.
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.
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.
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).
Si es true, incluye solo los nombres de las columnas y los tipos en el resultado de la consulta DESCRIBE
Qué dialecto se utilizará para interpretar la consulta
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.
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.
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.
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
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.
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.
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.
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
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.
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:
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.
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).
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:
hnsw_candidate_list_size_for_search
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’.
Tiempo de expiración de HSTS. 0 significa desactivar HSTS.
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).
El intervalo, en microsegundos, para comprobar si se ha cancelado la ejecución de la solicitud y enviar el progreso.
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.
Establece el número máximo de filas que se pueden obtener del resultado de la consulta. Ajusta el valor definido por la cláusula LIMIT, de modo que el límite especificado en la consulta no pueda superar el límite establecido por esta opción.
Valores posibles:
- 0 — El número de filas no está limitado.
- Entero positivo.
load_marks_asynchronously
Carga las marcas de MergeTree de forma asíncrona
Valor predeterminado en Cloud: 1.
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.
Crea un plan de consulta distribuida.
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
Normalizar los nombres de las funciones a su forma canónica
Establece el número de filas que se omitirán antes de empezar a devolver filas de la consulta. Ajusta el desplazamiento establecido por la cláusula OFFSET, de modo que ambos valores se sumen.
Posibles valores:
- 0 — No se omite ninguna fila.
- Entero positivo.
Ejemplo
Tabla de entrada:
Consulta:
Resultado:
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.
Registra estadísticas de índices por parte
Bloquea el bucle de espera de la consulta en el servidor durante el número de segundos especificado.
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.
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:
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
El tiempo de espera en la cola de solicitudes si el número de solicitudes concurrentes supera el máximo.
El tiempo de espera para leer de RabbitMQ antes de volver a intentarlo.
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:
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.
%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 (”%”).
-
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.
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.
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
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_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:
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
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
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.
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.
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.
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.
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
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.
unique_key_max_encoded_size
Tamaño máximo (en bytes) de la codificación binaria con preservación del orden de una sola fila de UNIQUE KEY.
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
Nombre del workload que se utilizará para acceder a los recursos
Escribir rutas completas (incluido s3://) en los archivos de metadatos de Iceberg.
Permite seleccionar el valor máximo de window log de ZSTD (no se utilizará para la familia MergeTree)