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

> O motor de banco de dados Filesystem expõe arquivos de um diretório local como tabelas read-only.

# Filesystem

O motor de banco de dados `Filesystem` expõe arquivos de um diretório local como tabelas read-only. O nome da tabela é resolvido como um path relativo ao diretório do banco de dados e é lido por meio da função de tabela [`file`](/pt-BR/reference/functions/table-functions/file).

## Criando um banco de dados

```sql theme={null}
CREATE DATABASE files
ENGINE = Filesystem([path]);
```

`path` é o diretório que contém os arquivos. Se for omitido, o ClickHouse usa o diretório atual no `clickhouse-local` e o diretório `user_files` no servidor ClickHouse.

## Uso

Por exemplo, com `data.csv` no diretório selecionado:

```sql theme={null}
CREATE DATABASE files ENGINE = Filesystem('imports');

SELECT * FROM files.`data.csv`;
```

O nome da tabela pode incluir um caminho relativo dentro do diretório do banco de dados. O schema e o formato da tabela são inferidos da mesma maneira que na função de tabela `file`.

O banco de dados não mantém definições de tabela: as tabelas são criadas quando seus arquivos são resolvidos pela primeira vez e ficam apenas em cache para acessos subsequentes. `CREATE TABLE`, `INSERT` e outras gravações por meio deste banco de dados não são suportados.

## Controle de acesso

No servidor ClickHouse, o diretório do banco de dados e todos os arquivos resolvidos devem estar dentro de [`user_files_path`](/pt-BR/reference/settings/server-settings/settings#user_files_path); essa restrição também se aplica após o acompanhamento de links simbólicos. O `clickhouse-local` não está restrito a `user_files_path`.

A criação desse banco de dados exige os grants de source `READ` e `WRITE` em `FILE`, independentemente de [`table_engines_require_grant`](/pt-BR/reference/settings/server-settings/settings/other#table_engines_require_grant). Você pode concedê-los, por exemplo, assim:

```sql theme={null}
GRANT READ, WRITE ON FILE TO user_name;
```

Consulte os [privilégios `SOURCES`](/pt-BR/reference/statements/grant#sources) para obter detalhes sobre versão e compatibilidade.

## Veja também

* [Função de tabela `file`](/pt-BR/reference/functions/table-functions/file)
* [Motor de banco de dados S3](/pt-BR/reference/engines/database-engines/s3)
* [Motor de banco de dados HDFS](/pt-BR/reference/engines/database-engines/hdfs)
