Pular para o conteúdo principal
Percorre recursivamente um diretório e retorna uma tabela com metadados dos arquivos (caminhos, tamanhos, tipos, permissões e horários de modificação) e, opcionalmente, o conteúdo dos arquivos. No modo clickhouse-server, o caminho deve estar dentro do diretório user_files_path. Links simbólicos dentro de user_files_path que apontam para fora dele são seguidos, mas apenas as entradas cujo caminho (por meio do link simbólico) começa com user_files_path são retornadas. No modo clickhouse-local, não há restrições de caminho.

Sintaxe

filesystem([path])

Argumentos

ParâmetroDescrição
pathO diretório a ser listado. Pode ser um caminho absoluto (deve estar dentro de user_files_path no modo servidor) ou um caminho relativo a user_files_path. Se estiver vazio ou for omitido, o valor padrão é user_files_path.

Colunas retornadas

ColunaTipoDescrição
pathStringDiretório que contém a entrada (não inclui o nome do arquivo ou diretório em si).
nameStringNome do arquivo ou diretório (o último componente do caminho).
fileString (ALIAS de name)Alias da coluna name.
typeEnum8Tipo de arquivo: 'none', 'not_found', 'regular', 'directory', 'symlink', 'block', 'character', 'fifo', 'socket', 'unknown'.
sizeNullable(UInt64)Tamanho do arquivo em bytes (para arquivos regulares). NULL para arquivos não regulares (diretórios, links simbólicos etc.) e em caso de erro.
depthUInt16Profundidade da recursão. 0 para o próprio diretório consultado e seus filhos imediatos, 1 para entradas um nível abaixo, e assim por diante.
modification_timeNullable(DateTime64(6))Data e hora da última modificação, com precisão de microssegundos. NULL em caso de erro.
is_symlinkBoolIndica se a entrada é um link simbólico.
contentNullable(String)Conteúdo do arquivo (para arquivos regulares). NULL para arquivos não regulares (diretórios, links simbólicos etc.). Erros de leitura geram uma exceção. Ler esta coluna aciona E/S real de arquivo, portanto omita-a se não for necessária.
owner_readBoolO proprietário tem permissão de leitura.
owner_writeBoolO proprietário tem permissão de escrita.
owner_execBoolO proprietário tem permissão de execução.
group_readBoolO grupo tem permissão de leitura.
group_writeBoolO grupo tem permissão de escrita.
group_execBoolO grupo tem permissão de execução.
others_readBoolOutros têm permissão de leitura.
others_writeBoolOutros têm permissão de escrita.
others_execBoolOutros têm permissão de execução.
set_gidBoolBit Set-GID.
set_uidBoolBit Set-UID.
sticky_bitBoolSticky bit.
Apenas as colunas realmente usadas na consulta são calculadas, portanto selecionar um subconjunto de colunas (especialmente omitindo content) é eficiente.

Exemplos

Liste os arquivos em user_files

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

Localizar arquivos grandes

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

Ler o conteúdo do arquivo

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

Liste apenas os filhos diretos

SELECT name, type
FROM filesystem('my_directory')
WHERE depth = 0;
Última modificação em 10 de junho de 2026