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

> Le moteur de base de données Filesystem expose les fichiers d'un répertoire local sous forme de tables en lecture seule.

# Filesystem

Le moteur de base de données `Filesystem` expose les fichiers d'un répertoire local sous forme de tables en read-only. Le nom d'une table est résolu comme un path relatif au répertoire de la base de données, et la table est lue à l'aide de la fonction de table [`file`](/fr/reference/functions/table-functions/file).

## Création d'une base de données

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

`path` est le répertoire qui contient les fichiers. S'il est omis, ClickHouse utilise le répertoire courant dans `clickhouse-local` et le répertoire `user_files` sur le serveur ClickHouse.

## Utilisation

Par exemple, avec `data.csv` dans le répertoire sélectionné :

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

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

Le nom de la table peut inclure un chemin relatif sous le répertoire de la base de données. Le schéma et le format de la table sont inférés de la même manière que pour la fonction de table `file`.

La base de données ne contient aucune définition de table : les tables sont créées lors de la première résolution de leurs fichiers, puis simplement mises en cache pour les accès ultérieurs. Les instructions `CREATE TABLE`, `INSERT` et les autres écritures via cette base de données ne sont pas prises en charge.

## Contrôle d'accès

Sur le serveur ClickHouse, le répertoire de la base de données ainsi que chaque fichier résolu doivent se trouver dans [`user_files_path`](/fr/reference/settings/server-settings/settings#user_files_path) ; cette restriction s'applique également une fois les liens symboliques suivis. `clickhouse-local`, en revanche, n'est pas limité à `user_files_path`.

La création de cette base de données requiert les grants de source `READ` et `WRITE` sur `FILE`, indépendamment de [`table_engines_require_grant`](/fr/reference/settings/server-settings/settings/other#table_engines_require_grant). Accordez-les par exemple ainsi :

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

Consultez les [privilèges `SOURCES`](/fr/reference/statements/grant#sources) pour plus de détails sur les versions et la compatibilité.

## Voir aussi

* [Fonction de table `file`](/fr/reference/functions/table-functions/file)
* [Moteur de base de données S3](/fr/reference/engines/database-engines/s3)
* [Moteur de base de données HDFS](/fr/reference/engines/database-engines/hdfs)
