> ## 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.

> El motor de base de datos Filesystem expone los archivos de un directorio local como tablas de solo lectura.

# Filesystem

El motor de base de datos `Filesystem` expone los archivos de un directorio local como tablas de solo lectura. El nombre de una tabla se resuelve como una ruta relativa al directorio de la base de datos y se lee mediante la función de tabla [`file`](/es/reference/functions/table-functions/file).

## Crear una base de datos

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

`path` es el directorio que contiene los archivos. Si se omite, ClickHouse utiliza el directorio actual en `clickhouse-local` y el directorio `user_files` en el servidor de ClickHouse.

## Uso

Por ejemplo, con `data.csv` en el directorio seleccionado:

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

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

El nombre de la tabla puede incluir una ruta relativa dentro del directorio de la base de datos. El esquema y el formato de la tabla se infieren de la misma manera que en la función de tabla `file`.

La base de datos no contiene definiciones de tabla: las tablas se crean cuando sus archivos se resuelven por primera vez y solo se almacenan en caché para accesos posteriores. No se admiten `CREATE TABLE`, `INSERT` ni otras escrituras a través de esta base de datos.

## Control de acceso

En el servidor de ClickHouse, el directorio de la base de datos y cada archivo resuelto deben encontrarse dentro de [`user_files_path`](/es/reference/settings/server-settings/settings#user_files_path); esta restricción se aplica también después de seguir enlaces simbólicos. `clickhouse-local` no está restringido a `user_files_path`.

Crear esta base de datos requiere los grants de origen `READ` y `WRITE` sobre `FILE`, con independencia de [`table_engines_require_grant`](/es/reference/settings/server-settings/settings/other#table_engines_require_grant). Puede otorgarlos, por ejemplo, así:

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

Consulta los [privilegios `SOURCES`](/es/reference/statements/grant#sources) para conocer los detalles de versión y compatibilidad.

## Véase también

* [Función de tabla `file`](/es/reference/functions/table-functions/file)
* [Motor de base de datos S3](/es/reference/engines/database-engines/s3)
* [Motor de base de datos HDFS](/es/reference/engines/database-engines/hdfs)
