Skip to main content
Estas configuraciones están disponibles en system.merge_tree_settings y se generan automáticamente a partir del código fuente de ClickHouse.

table_disk

Es un disco de tabla: la ruta/endpoint apunta a los datos de la tabla, no a los datos de la base de datos. Compatible con discos de almacenamiento de objetos cuya metadata reside en el propio almacenamiento de objetos (s3_plain, s3_plain_rewritable, web, web_index) y sus variantes con caché. Las variantes cifradas solo son compatibles con los discos s3_plain / s3_plain_rewritable con escritura, no con los discos web / web_index de solo lectura. Se da por hecho que las partes ya presentes en la ruta coinciden con las columnas y la clave de ordenación que declara esta tabla. No queda registrada en ningún sitio la clave de ordenación con la que se escribió cada parte, por lo que una tabla que declare una clave distinta sobre las mismas partes devolverá resultados incorrectos o un error.

table_readonly

Si se establece en true, la tabla pasa a modo de solo lectura. Se rechazan todas las operaciones en primer plano que modificarían la tabla: inserciones, mutaciones, OPTIMIZE y los comandos de partición que modifican datos (ATTACH/MOVE/DROP/DROP DETACHED/FETCH/REPLACE PARTITION, así como MOVE PARTITION ... TO TABLE cuando el destino es esta tabla). Las operaciones que no modifican los datos de la tabla, como FREEZE/UNFREEZE y FORGET PARTITION, siguen estando permitidas. No se programa ningún trabajo en segundo plano que modifique los datos de la tabla: se suprimen las fusiones regulares, las fusiones por TTL (DELETE/MOVE/recompresión), las fusiones de recompresión, las mutaciones en segundo plano y los movimientos de partes en segundo plano. En consecuencia, una tabla con TTL deja de recuperar o mover sus datos caducados mientras esta configuración esté habilitada. La limpieza se detiene tras esperar a que finalice la iteración de limpieza en curso. La carga asíncrona de partes obsoletas (inactivas) que una tabla escribible realiza tras el arranque se suspende si aún está pendiente: no se carga ninguna parte más, incluidas las cargas que ya estaban en cola pero no habían comenzado, y las partes que quedan sin cargar se cargarán cuando la configuración vuelva a desactivarse. Los workers en segundo plano se deshabilitan antes de que el ALTER que habilita la configuración haga su commit, de modo que no se inicia ninguna limpieza ni carga de partes en una tabla que ya es de solo lectura de forma persistente. Las demás operaciones que ya estén en curso, incluida la carga de partes que ya había comenzado, pueden finalizar. La caché de estadísticas en memoria sigue actualizándose periódicamente. Establezca refresh_statistics_interval = 0 para deshabilitar también esta tarea en segundo plano. Las lecturas en streaming (SELECT ... STREAM) siguen funcionando: el trabajo en segundo plano que atiende sus suscripciones solo lee partes, por lo que también se ejecuta en tablas de solo lectura. La configuración siempre puede revertirse con ALTER TABLE ... MODIFY SETTING table_readonly = 0 (o RESET SETTING). En ese momento se inician los workers en segundo plano que la tabla de solo lectura nunca llegó a iniciar, por lo que las fusiones, mutaciones, movimientos, TTL y la limpieza se reanudan sin necesidad de reiniciar el servidor. Las partes obsoletas (inactivas) se cargan antes de que la limpieza pueda eliminar las partes vacías que las cubren. La tabla permanece en solo lectura para las consultas concurrentes durante toda la ejecución de ese ALTER: solo vuelve a aceptar escrituras una vez que la sentencia ha finalizado, no en el momento en que se confirmó su metadata. Esta configuración no es compatible con ReplicatedMergeTree.
Última modificación el 14 de agosto de 2026