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

> Системная таблица со статусом загрузки и метаданными конфигурации пользовательских функций (UDF).

# system.user_defined_functions

<div id="description">
  ## Описание
</div>

Содержит статус загрузки, сведения об ошибках и метаданные конфигурации для [пользовательских функций (UDF)](/ru/reference/functions/regular-functions/udf).

<div id="columns">
  ## Столбцы
</div>

* `name` ([String](/ru/reference/data-types)) — Имя UDF.
* `load_status` ([Enum8('Success' = 0, 'Failed' = 1)](/ru/reference/data-types)) — Статус загрузки. Возможные значения:
  * **Success** — UDF загружена и готова к использованию
  * **Failed** — Не удалось загрузить UDF (подробности см. в поле 'loading\_error\_message').
* `loading_error_message` ([String](/ru/reference/data-types)) — Подробное сообщение об ошибке, если загрузка не удалась. Пусто, если загрузка выполнена успешно.
* `last_successful_update_time` ([Nullable(DateTime)](/ru/reference/data-types)) — Временная метка последнего успешного обновления. NULL, если успешных обновлений не было.
* `loading_duration_ms` ([UInt64](/ru/reference/data-types)) — Время, затраченное на загрузку UDF, в миллисекундах.
* `type` ([Enum8('executable' = 0, 'executable\_pool' = 1)](/ru/reference/data-types)) — Тип UDF: 'executable' (один процесс) или 'executable\_pool' (пул процессов).
* `command` ([String](/ru/reference/data-types)) — Скрипт или команда для выполнения этой UDF.
* `format` ([String](/ru/reference/data-types)) — Формат данных для ввода-вывода (например, 'TabSeparated', 'JSONEachRow').
* `return_type` ([String](/ru/reference/data-types)) — Тип возвращаемого значения функции (например, 'String', 'UInt64').
* `return_name` ([String](/ru/reference/data-types)) — Необязательный идентификатор возвращаемого значения. Пусто, если не настроен.
* `argument_types` ([Array(String)](/ru/reference/data-types)) — Массив типов аргументов (например, \['String', 'UInt64']).
* `argument_names` ([Array(String)](/ru/reference/data-types)) — Массив имён аргументов. Пустые строки — для аргументов без имени.
* `max_command_execution_time` ([UInt64](/ru/reference/data-types)) — Максимальное количество секунд на обработку блока данных. Только для типа 'executable\_pool'.
* `command_termination_timeout` ([UInt64](/ru/reference/data-types)) — Сколько секунд ждать перед отправкой SIGTERM процессу команды.
* `command_read_timeout` ([UInt64](/ru/reference/data-types)) — Количество миллисекунд на чтение из stdout команды.
* `command_write_timeout` ([UInt64](/ru/reference/data-types)) — Количество миллисекунд на запись в stdin команды.
* `pool_size` ([UInt64](/ru/reference/data-types)) — Количество экземпляров процесса команды. Только для типа 'executable\_pool'.
* `send_chunk_header` ([UInt8](/ru/reference/data-types)) — Отправлять ли количество строк перед каждым фрагментом данных (логическое значение).
* `execute_direct` ([UInt8](/ru/reference/data-types)) — Выполнять ли команду напрямую (1) или через /bin/bash (0).
* `lifetime` ([UInt64](/ru/reference/data-types)) — Интервал перезагрузки в секундах. 0 означает, что перезагрузка отключена.
* `deterministic` ([UInt8](/ru/reference/data-types)) — Возвращает ли функция один и тот же результат для одинаковых аргументов (логическое значение).

<div id="example">
  ## Пример
</div>

Просмотрите все пользовательские функции (UDF) и их статус загрузки:

```sql theme={null}
SELECT
    name,
    load_status,
    type,
    command,
    return_type,
    argument_types
FROM system.user_defined_functions
FORMAT Vertical;
```

```response theme={null}
Row 1:
──────
name:           my_sum_udf
load_status:    Success
type:           executable
command:        /var/lib/clickhouse/user_scripts/sum.py
return_type:    UInt64
argument_types: ['UInt64','UInt64']
```

Найдите пользовательские функции (UDF), завершившиеся с ошибкой:

```sql theme={null}
SELECT
    name,
    loading_error_message
FROM system.user_defined_functions
WHERE load_status = 'Failed';
```

<div id="see-also">
  ## См. также
</div>

* [Пользовательские функции](/ru/reference/functions/regular-functions/udf) — Как создавать и настраивать UDF.
