Saltar al contenido principal
Recorre recursivamente un directorio y devuelve una tabla con metadatos de archivos (rutas, tamaños, tipos, permisos, fechas de modificación) y, opcionalmente, el contenido de los archivos. En el modo clickhouse-server, la ruta debe estar dentro del directorio user_files_path. Se siguen los enlaces simbólicos dentro de user_files_path que apuntan fuera de él, pero solo se devuelven las entradas cuya ruta (a través del enlace simbólico) comienza con user_files_path. En el modo clickhouse-local, no hay restricciones de ruta.

Sintaxis

filesystem([path])

Argumentos

ParámetroDescripción
pathEl directorio que se va a listar. Puede ser una ruta absoluta (debe estar dentro de user_files_path cuando se ejecuta en modo server) o una ruta relativa a user_files_path. Si está vacío o se omite, el valor predeterminado es user_files_path.

Columnas devueltas

ColumnaTipoDescripción
pathStringDirectorio que contiene la entrada (no incluye el nombre del archivo o directorio en sí).
nameStringNombre del archivo o directorio (el último componente de la ruta).
fileString (ALIAS de name)Alias de la columna name.
typeEnum8Tipo de archivo: 'none', 'not_found', 'regular', 'directory', 'symlink', 'block', 'character', 'fifo', 'socket', 'unknown'.
sizeNullable(UInt64)Tamaño del archivo en bytes (para archivos normales). NULL para archivos no normales (directorios, enlaces simbólicos, etc.) y en caso de error.
depthUInt16Profundidad de recursión. 0 para el propio directorio consultado y sus elementos secundarios inmediatos, 1 para las entradas un nivel más abajo, y así sucesivamente.
modification_timeNullable(DateTime64(6))Fecha y hora de la última modificación con precisión de microsegundos. NULL en caso de error.
is_symlinkBoolIndica si la entrada es un enlace simbólico.
contentNullable(String)Contenido del archivo (para archivos normales). NULL para archivos no normales (directorios, enlaces simbólicos, etc.). Los errores de lectura generan una excepción. Leer esta columna desencadena la E/S real del archivo, así que omítela si no es necesaria.
owner_readBoolEl propietario tiene permiso de lectura.
owner_writeBoolEl propietario tiene permiso de escritura.
owner_execBoolEl propietario tiene permiso de ejecución.
group_readBoolEl grupo tiene permiso de lectura.
group_writeBoolEl grupo tiene permiso de escritura.
group_execBoolEl grupo tiene permiso de ejecución.
others_readBoolOtros tienen permiso de lectura.
others_writeBoolOtros tienen permiso de escritura.
others_execBoolOtros tienen permiso de ejecución.
set_gidBoolBit Set-GID.
set_uidBoolBit Set-UID.
sticky_bitBoolSticky bit.
Solo se calculan las columnas que realmente se usan en la consulta, por lo que seleccionar un subconjunto de columnas (especialmente si se omite content) es eficiente.

Ejemplos

Listar archivos en user_files

SELECT name, type, size, depth
FROM filesystem()
ORDER BY name;

Buscar archivos grandes

SELECT path, name, size
FROM filesystem()
WHERE type = 'regular' AND size > 1000000
ORDER BY size DESC;

Leer el contenido del archivo

SELECT name, content
FROM filesystem('my_directory')
WHERE name LIKE '%.csv';

Mostrar solo los elementos hijos inmediatos

SELECT name, type
FROM filesystem('my_directory')
WHERE depth = 0;
Última modificación el 10 de junio de 2026