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

> Table système contenant l'état du chargement et les métadonnées de configuration des fonctions définies par l'utilisateur (UDF).

# system.user_defined_functions

<div id="description">
  ## Description
</div>

Contient l’état du chargement, les informations d’erreur et les métadonnées de configuration des [fonctions définies par l’utilisateur (UDF)](/fr/reference/functions/regular-functions/udf).

<div id="columns">
  ## Colonnes
</div>

* `name` ([String](/fr/reference/data-types/index)) — Nom de l’UDF.
* `load_status` ([Enum8('Success' = 0, 'Failed' = 1)](/fr/reference/data-types/index)) — Statut de chargement. Valeurs possibles :
  * **Success** — UDF chargée et prête à l’emploi
  * **Failed** — Échec du chargement de l’UDF (voir le champ 'loading\_error\_message' pour plus de détails).
* `loading_error_message` ([String](/fr/reference/data-types/index)) — Message d’erreur détaillé en cas d’échec du chargement. Vide si le chargement a réussi.
* `last_successful_update_time` ([Nullable(DateTime)](/fr/reference/data-types/index)) — Horodatage de la dernière mise à jour réussie. NULL si aucune mise à jour n’a jamais réussi.
* `loading_duration_ms` ([UInt64](/fr/reference/data-types/index)) — Temps de chargement de l’UDF, en millisecondes.
* `type` ([Enum8('executable' = 0, 'executable\_pool' = 1)](/fr/reference/data-types/index)) — Type d’UDF : 'executable' (processus unique) ou 'executable\_pool' (pool de processus).
* `command` ([String](/fr/reference/data-types/index)) — Script ou commande à exécuter pour cette UDF.
* `format` ([String](/fr/reference/data-types/index)) — Format de données pour les E/S (par ex. : 'TabSeparated', 'JSONEachRow').
* `return_type` ([String](/fr/reference/data-types/index)) — Type de retour de la fonction (par ex. : 'String', 'UInt64').
* `return_name` ([String](/fr/reference/data-types/index)) — Identifiant facultatif de la valeur de retour. Vide si non configuré.
* `argument_types` ([Array(String)](/fr/reference/data-types/index)) — Tableau des types d’arguments (par ex. : \['String', 'UInt64']).
* `argument_names` ([Array(String)](/fr/reference/data-types/index)) — Tableau des noms d’arguments. Chaînes vides pour les arguments sans nom.
* `max_command_execution_time` ([UInt64](/fr/reference/data-types/index)) — Nombre maximal de secondes pour traiter un bloc de données. Uniquement pour le type 'executable\_pool'.
* `command_termination_timeout` ([UInt64](/fr/reference/data-types/index)) — Nombre de secondes avant l’envoi de SIGTERM au processus de commande.
* `command_read_timeout` ([UInt64](/fr/reference/data-types/index)) — Délai, en millisecondes, pour la lecture depuis le stdout de la commande.
* `command_write_timeout` ([UInt64](/fr/reference/data-types/index)) — Délai, en millisecondes, pour l’écriture vers le stdin de la commande.
* `pool_size` ([UInt64](/fr/reference/data-types/index)) — Nombre d’instances du processus de commande. Uniquement pour le type 'executable\_pool'.
* `send_chunk_header` ([UInt8](/fr/reference/data-types/index)) — Indique s’il faut envoyer le nombre de lignes avant chaque fragment de données (booléen).
* `execute_direct` ([UInt8](/fr/reference/data-types/index)) — Indique s’il faut exécuter la commande directement (1) ou via /bin/bash (0).
* `lifetime` ([UInt64](/fr/reference/data-types/index)) — Intervalle de rechargement en secondes. 0 signifie que le rechargement est désactivé.
* `deterministic` ([UInt8](/fr/reference/data-types/index)) — Indique si la fonction renvoie le même résultat pour les mêmes arguments (booléen).

<div id="example">
  ## Exemple
</div>

Affichez toutes les UDF et leur état de chargement :

```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']
```

Identifier les UDF en échec :

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

<div id="see-also">
  ## Voir aussi
</div>

* [Fonctions définies par l’utilisateur](/fr/reference/functions/regular-functions/udf) — Comment créer et configurer des UDF.
