Passer au contenu principal

Description

Contient l’état du chargement, les informations d’erreur et les métadonnées de configuration des fonctions définies par l’utilisateur (UDF).

Colonnes

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

Exemple

Affichez toutes les UDF et leur état de chargement :
SELECT
    name,
    load_status,
    type,
    command,
    return_type,
    argument_types
FROM system.user_defined_functions
FORMAT Vertical;
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 :
SELECT
    name,
    loading_error_message
FROM system.user_defined_functions
WHERE load_status = 'Failed';

Voir aussi

Dernière modification le 25 juin 2026