> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-8c05c8a2.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Fornece acesso ao sistema de arquivos para listar arquivos e retornar seus metadados e conteúdo.

# filesystem

export const CloudNotSupportedBadge = () => {
  return <div className="cloudNotSupportedBadge">
            <div className="cloudNotSupportedIcon">
            <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path strokeWidth="1.5" d="M6.33366 12.6666L12.3739 12.6667C13.6593 12.6667 14.7073 11.6187 14.7073 10.3334C14.7073 9.04804 13.6593 8.00003 12.3739 8.00003C12.3739 8.00003 12.3337 7.66659 12.0003 7.33325M10.667 5.33322C8.00033 2.33325 4.45395 4.78537 4.14195 6.68203C2.55728 6.7627 1.29395 8.06203 1.29395 9.6667C1.29395 11.3234 2.66699 12.6666 4.00033 12.6666" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path strokeWidth="1.5" d="M2.66699 14L12.0003 4.66663" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
            </svg>

        </div>
            Sem suporte no ClickHouse Cloud
        </div>;
};

<div id="filesystem-table-function">
  # Função de tabela filesystem
</div>

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](/pt-BR/reference/settings/server-settings/settings#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.

<div id="syntax">
  ## Sintaxe
</div>

```sql theme={null}
filesystem([path])
```

<div id="arguments">
  ## Argumentos
</div>

| Parâmetro | Descrição                                                                                                                                                                                                                          |
| --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `path`    | O 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`. |

<div id="returned_columns">
  ## Colunas retornadas
</div>

| Coluna              | Tipo                       | Descrição                                                                                                                                                                                                                                      |
| ------------------- | -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `path`              | `String`                   | Diretório que contém a entrada (não inclui o nome do arquivo ou diretório em si).                                                                                                                                                              |
| `name`              | `String`                   | Nome do arquivo ou diretório (o último componente do caminho).                                                                                                                                                                                 |
| `file`              | `String` (ALIAS de `name`) | Alias da coluna `name`.                                                                                                                                                                                                                        |
| `type`              | `Enum8`                    | Tipo de arquivo: `'none'`, `'not_found'`, `'regular'`, `'directory'`, `'symlink'`, `'block'`, `'character'`, `'fifo'`, `'socket'`, `'unknown'`.                                                                                                |
| `size`              | `Nullable(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.                                                                                               |
| `depth`             | `UInt16`                   | Profundidade 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_time` | `Nullable(DateTime64(6))`  | Data e hora da última modificação, com precisão de microssegundos. `NULL` em caso de erro.                                                                                                                                                     |
| `is_symlink`        | `Bool`                     | Indica se a entrada é um link simbólico.                                                                                                                                                                                                       |
| `content`           | `Nullable(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_read`        | `Bool`                     | O proprietário tem permissão de leitura.                                                                                                                                                                                                       |
| `owner_write`       | `Bool`                     | O proprietário tem permissão de escrita.                                                                                                                                                                                                       |
| `owner_exec`        | `Bool`                     | O proprietário tem permissão de execução.                                                                                                                                                                                                      |
| `group_read`        | `Bool`                     | O grupo tem permissão de leitura.                                                                                                                                                                                                              |
| `group_write`       | `Bool`                     | O grupo tem permissão de escrita.                                                                                                                                                                                                              |
| `group_exec`        | `Bool`                     | O grupo tem permissão de execução.                                                                                                                                                                                                             |
| `others_read`       | `Bool`                     | Outros têm permissão de leitura.                                                                                                                                                                                                               |
| `others_write`      | `Bool`                     | Outros têm permissão de escrita.                                                                                                                                                                                                               |
| `others_exec`       | `Bool`                     | Outros têm permissão de execução.                                                                                                                                                                                                              |
| `set_gid`           | `Bool`                     | Bit Set-GID.                                                                                                                                                                                                                                   |
| `set_uid`           | `Bool`                     | Bit Set-UID.                                                                                                                                                                                                                                   |
| `sticky_bit`        | `Bool`                     | Sticky bit.                                                                                                                                                                                                                                    |

Apenas as colunas realmente usadas na consulta são calculadas, portanto selecionar um subconjunto de colunas (especialmente omitindo `content`) é eficiente.

<div id="examples">
  ## Exemplos
</div>

<div id="list-files">
  ### Liste os arquivos em user\_files
</div>

```sql theme={null}
SELECT name, type, size, depth
FROM filesystem()
ORDER BY name;
```

<div id="find-large-files">
  ### Localizar arquivos grandes
</div>

```sql theme={null}
SELECT path, name, size
FROM filesystem()
WHERE type = 'regular' AND size > 1000000
ORDER BY size DESC;
```

<div id="read-contents">
  ### Ler o conteúdo do arquivo
</div>

```sql theme={null}
SELECT name, content
FROM filesystem('my_directory')
WHERE name LIKE '%.csv';
```

<div id="list-immediate">
  ### Liste apenas os filhos diretos
</div>

```sql theme={null}
SELECT name, type
FROM filesystem('my_directory')
WHERE depth = 0;
```
