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

materialized_views_ignore_errors

Si está habilitada, las excepciones que se produzcan al enviar datos a una vista materializada dependiente (en su SELECT o en el sink de la tabla interna) se registran como advertencia y la sentencia INSERT se completa correctamente. Si está deshabilitada (valor predeterminado), la excepción se propaga y la sentencia INSERT falla. Esta configuración solo controla cómo se notifican los errores. No revierte una escritura en la tabla de origen ni garantiza si el bloque original ya se ha confirmado en la tabla de origen cuando se produce un error en la canalización de una vista dependiente. Cuando está deshabilitada (valor predeterminado), INSERT falla si se produce un error en una vista; reinténtelo con deduplicación de inserción (insert_deduplicate, deduplicate_blocks_in_dependent_materialized_views) para lograr una entrega exactamente una vez a la tabla de origen y a todas las vistas dependientes. Cuando está habilitada, INSERT informa de que la operación se ha realizado correctamente a pesar de una entrega parcial a las vistas con errores y a sus cadenas posteriores; úsela solo cuando las escrituras en la tabla de origen no deban bloquearse por problemas del lado de la vista (por ejemplo, las tablas system.*_log). Consulte la documentación de CREATE VIEW para conocer la semántica completa.

materialized_views_populate_atomically

Hace que CREATE MATERIALIZED VIEW ... POPULATE sea atómico: la vista se suscribe a las nuevas inserciones de la tabla de origen y, al mismo tiempo, se toma una instantánea de los datos existentes bajo un breve bloqueo exclusivo de la tabla de origen, de modo que cada fila insertada simultáneamente con la carga inicial se entrega a la vista exactamente una vez (sin omisiones ni duplicados). A continuación, la carga inicial, que puede ser prolongada, lee la instantánea fijada sin mantener ningún bloqueo. Se trata de atomicidad en la ruta de inserción local: el bloqueo exclusivo solo se serializa con las inserciones que adquieren el bloqueo de almacenamiento de esta tabla de origen en el mismo servidor, por lo que la garantía de exactamente una vez cubre las inserciones que llegan a través de este servidor. No es una garantía para todo el clúster: las filas insertadas en otra réplica de un origen ReplicatedMergeTree o mediante una ruta de escritura distribuida (por ejemplo, en una tabla Distributed o mediante ON CLUSTER) simultáneamente con la carga inicial aún pueden omitirse o duplicarse. Esto requiere que la tabla de origen admita la lectura de una instantánea fijada en un momento determinado (la familia MergeTree y Memory). Para cualquier otro origen (una vista, Distributed, Merge, la familia Log o una tabla que no esté en una base de datos Atomic), la carga inicial recurre al comportamiento heredado no atómico (registrado en el registro del servidor): los datos existentes se leen con una instantánea independiente y no coordinada, por lo que las filas insertadas durante la carga inicial pueden omitirse o duplicarse. Establezca esta SETTING en false para forzar el comportamiento heredado en todos los orígenes. Se aplica únicamente a CREATE MATERIALIZED VIEW simple; CREATE OR REPLACE / REPLACE siempre usan la carga inicial heredada no atómica, al igual que una vista creada en una base de datos Replicated (donde POPULATE requiere database_replicated_allow_heavy_create), porque una carga inicial fallida no podría revertirse de forma coherente en todas las réplicas.

materialized_views_squash_parallel_inserts

Compacta en la tabla de destino de las vistas materializadas las inserciones de una única consulta INSERT procedentes de inserciones en paralelo para reducir la cantidad de partes generadas. Si se establece en false y parallel_view_processing está habilitado, la consulta INSERT generará una parte en la tabla de destino por cada max_insert_thread.
Última modificación el 14 de agosto de 2026