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

> Движок базы данных Filesystem представляет файлы из локального каталога в виде таблиц, доступных только для чтения.

# Filesystem

Движок базы данных `Filesystem` предоставляет файлы из локального каталога в виде таблиц, доступных только для чтения. Имя таблицы разрешается как путь относительно каталога базы данных, а чтение выполняется с помощью табличной функции [`file`](/ru/reference/functions/table-functions/file).

## Создание базы данных

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

`path` — каталог, в котором находятся файлы. Если он не указан, ClickHouse использует текущий каталог в `clickhouse-local` и каталог `user_files` на сервере ClickHouse.

## Использование

Например, при наличии файла `data.csv` в выбранном каталоге:

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

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

Имя таблицы может включать относительный путь внутри каталога базы данных. Схема и формат таблицы выводятся так же, как и для табличной функции `file`.

База данных не хранит определений таблиц: таблицы создаются при первом разрешении их файлов и лишь кэшируются для последующих обращений. `CREATE TABLE`, `INSERT` и другие операции записи через эту базу данных не поддерживаются.

## Управление доступом

На сервере ClickHouse каталог базы данных и каждый разрешаемый файл должны находиться внутри [`user_files_path`](/ru/reference/settings/server-settings/settings#user_files_path); это ограничение действует и после перехода по символическим ссылкам. На `clickhouse-local` ограничение `user_files_path` не распространяется.

Для создания такой базы данных требуются привилегии source `READ` и `WRITE` на `FILE`, независимо от [`table_engines_require_grant`](/ru/reference/settings/server-settings/settings/other#table_engines_require_grant). Выдать их можно, например, так:

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

Подробности о версиях и совместимости см. в разделе [Привилегии `SOURCES`](/ru/reference/statements/grant#sources).

## См. также

* [Табличная функция `file`](/ru/reference/functions/table-functions/file)
* [Движок базы данных S3](/ru/reference/engines/database-engines/s3)
* [Движок базы данных HDFS](/ru/reference/engines/database-engines/hdfs)
