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

> 사용자 정의 함수(UDF)의 로딩 상태와 구성 메타데이터를 포함하는 시스템 테이블입니다.

# system.user_defined_functions

<div id="description">
  ## 설명
</div>

[사용자 정의 함수(UDFs)](/ko/reference/functions/regular-functions/udf)의 로딩 상태, 오류 정보, 구성 메타데이터를 포함합니다.

<div id="columns">
  ## 컬럼
</div>

* `name` ([String](/ko/reference/data-types)) — UDF 이름입니다.
* `load_status` ([Enum8('Success' = 0, 'Failed' = 1)](/ko/reference/data-types)) — 로딩 상태입니다. 가능한 값:
  * **Success** — UDF가 로드되어 사용할 수 있는 상태입니다
  * **Failed** — UDF 로드에 실패한 상태입니다(자세한 내용은 필드 'loading\_error\_message'를 참조하십시오).
* `loading_error_message` ([String](/ko/reference/data-types)) — 로드에 실패했을 때의 상세 오류 메시지입니다. 성공적으로 로드된 경우 비어 있습니다.
* `last_successful_update_time` ([Nullable(DateTime)](/ko/reference/data-types)) — 마지막으로 업데이트에 성공한 시점의 타임스탬프입니다. 한 번도 성공하지 않았으면 NULL입니다.
* `loading_duration_ms` ([UInt64](/ko/reference/data-types)) — UDF를 로드하는 데 걸린 시간(밀리초)입니다.
* `type` ([Enum8('실행형' = 0, 'executable\_pool' = 1)](/ko/reference/data-types)) — UDF 유형입니다: '실행형'(단일 프로세스) 또는 'executable\_pool'(프로세스 풀).
* `command` ([String](/ko/reference/data-types)) — 이 UDF에서 실행할 스크립트 또는 명령입니다.
* `format` ([String](/ko/reference/data-types)) — I/O용 데이터 포맷입니다(예: 'TabSeparated', 'JSONEachRow').
* `return_type` ([String](/ko/reference/data-types)) — 함수 반환 타입입니다(예: 'String', 'UInt64').
* `return_name` ([String](/ko/reference/data-types)) — 선택적 반환값 식별자입니다. 구성되지 않은 경우 비어 있습니다.
* `argument_types` ([Array(String)](/ko/reference/data-types)) — 인수 타입 배열입니다(예: \['String', 'UInt64']).
* `argument_names` ([Array(String)](/ko/reference/data-types)) — 인수 이름 배열입니다. 이름이 없는 인수에는 빈 문자열이 사용됩니다.
* `max_command_execution_time` ([UInt64](/ko/reference/data-types)) — 데이터 블록을 처리할 수 있는 최대 시간(초)입니다. 'executable\_pool' 유형에만 적용됩니다.
* `command_termination_timeout` ([UInt64](/ko/reference/data-types)) — 명령 프로세스에 SIGTERM을 보내기까지의 시간(초)입니다.
* `command_read_timeout` ([UInt64](/ko/reference/data-types)) — 명령의 stdout을 읽는 시간 제한(밀리초)입니다.
* `command_write_timeout` ([UInt64](/ko/reference/data-types)) — 명령의 stdin에 쓰는 시간 제한(밀리초)입니다.
* `pool_size` ([UInt64](/ko/reference/data-types)) — 명령 프로세스 인스턴스 수입니다. 'executable\_pool' 유형에만 적용됩니다.
* `send_chunk_header` ([UInt8](/ko/reference/data-types)) — 각 데이터 청크 앞에 행 수를 보낼지 여부입니다(불리언).
* `execute_direct` ([UInt8](/ko/reference/data-types)) — 명령을 직접 실행할지(1), 아니면 /bin/bash를 통해 실행할지(0) 여부입니다.
* `lifetime` ([UInt64](/ko/reference/data-types)) — 다시 로드하는 인터벌(초)입니다. 0이면 다시 로드가 비활성화됩니다.
* `deterministic` ([UInt8](/ko/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>

* [사용자 정의 함수](/ko/reference/functions/regular-functions/udf) — UDF를 생성하고 설정하는 방법입니다.
