# 데이터베이스 최종화

\[내부 처리] 데이터베이스 생성의 최종 단계입니다.

> \[!NOTE]
> 이 콘텐츠는 CodeQL CLI의 최신 릴리스에 대해 설명합니다. 이 요소에 대한 자세한 내용은 <https://github.com/github/codeql-cli-binaries/releases을(를)> 참조하세요.
>
> 이전 릴리스에서 이 명령에 사용할 수 있는 옵션의 세부 정보를 보려면 터미널에서 옵션을 사용하여 <span style="white-space: nowrap;">`--help`</span> 명령을 실행합니다.

## 개요

```shell copy
codeql database finalize [--dbscheme=<file>] [--threads=<num>] [--ram=<MB>] <options>... -- <database>
```

## Description

```
          \[내부 처리] 데이터베이스 생성의 최종 단계입니다.

          [codeql database init](/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-init)으로 생성되고, 이후 [codeql database trace-command](/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-trace-command)를 사용하여 분석 데이터를 채운 데이터베이스를 최종화합니다. 새 데이터베이스를 쿼리하기 전에 이 작업이 수행되어야 합니다.
```

## Options

### 기본 옵션

#### `<database>`

```
          \[필수] 생성 중인 CodeQL 데이터베이스의 경로입니다. 이 데이터베이스는 [codeql database init](/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-init)로 추출 준비가 되어 있어야 합니다.

          `--db-cluster` 옵션이 지정된 경우, 이는 데이터베이스 자체가 아니라 _데이터베이스를 포함하는_ 디렉터리이며, 해당 디렉터리의 모든 데이터베이스가 함께 처리됩니다.
```

#### `--[no-]db-cluster`

명령줄에 지정된 디렉터리가 데이터베이스 자체가 아니라, *하나 이상의 생성 중인 데이터베이스를 포함하는* 디렉터리임을 나타냅니다. 해당 디렉터리의 모든 데이터베이스가 함께 처리됩니다.

#### `--additional-dbs=<database>[:<database>...]`

```
          \[고급] 추가로 생성 중인 CodeQL 데이터베이스의 경로입니다.
```

이 데이터베이스들은 자체적으로 최종화되지는 않지만, 해당 데이터는 생성 중인 최종화된 데이터베이스에 포함됩니다. 이 옵션은 고급 옵션으로, 모든 경우에 원하는 효과를 보장하지 않을 수 있습니다. 자세한 내용은 [codeql database import](/ko/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-import)의 설명서를 참조하십시오.

```
          `--db-cluster` 옵션이 지정된 경우, 이는 개별 CodeQL 데이터베이스가 아닌 데이터베이스 클러스터일 것으로 예상됩니다.
```

(참고: Windows에서는 경로 구분 기호로 `;`을(를) 사용합니다.)

#### `--no-cleanup`

```
          \[고급] 종료한 후 모든 데이터베이스 정리를 표시하지 않습니다. 디버깅 목적으로 유용합니다.
```

#### `--no-pre-finalize`

```
          \[고급] 활성 CodeQL 추출기로 지정된 모든 사전 종료 스크립트를 건너뜁니다.
```

#### `--[no-]skip-empty`

```
          \[고급] 빌드 중에 소스 코드가 확인되지 않아서 데이터베이스가 비어 있는 경우 오류 대신 경고를 출력합니다. 빈 데이터베이스는 완료되지 않은 상태로 남아 있습니다.
```

### TRAP 가져오기 작업을 제어하는 옵션

#### `-S, --dbscheme=<file>`

```
          \[고급] TRAP 파일이 준수하는 것으로 간주되는 자동 검색 dbscheme 정의를 재정의합니다. 보통 이는 데이터베이스의 추출기에서 가져옵니다.
```

#### `-j, --threads=<num>`

가져오기 작업에 적합한 스레드 수를 사용합니다.

기본값은 1입니다. 0을 전달하여 머신의 코어당 한 개의 스레드를 사용할 수 있고, -\_N\_을 전달하여 \_N\_개의 코어를 사용하지 않은 상태로 둘 수 있습니다. 단, 최소 한 개의 스레드는 계속 사용됩니다.

#### `-M, --ram=<MB>`

가져오기 작업에 맞는 메모리 양을 사용합니다.

### 하위 수준 데이터 세트 정리 옵션

#### `--max-disk-cache=<MB>`

디스크 캐시가 중간 쿼리 결과에 사용할 수 있는 최대 공간을 설정합니다.

명시적으로 이 크기가 구성되지 않으면 데이터 세트의 크기와 쿼리의 복잡성에 따라 평가기가 "합리적인" 양의 캐시 공간을 사용하려고 합니다. 명시적으로 이 기본 사용량보다 높은 한도를 설정하게 되면 추가 캐싱이 가능하므로 이후의 쿼리의 속도를 높일 수 있습니다.

#### `--min-disk-free=<MB>`

```
          \[고급] 파일 시스템에 확보할 목표 여유 공간의 양을 설정합니다.

          `--max-disk-cache`이(가) 지정되지 않으면 파일 시스템의 사용 가능한 공간이 이 값 이하로 떨어질 때 평가기에서 디스크 캐시 사용량을 줄이려고 합니다.
```

#### `--min-disk-free-pct=<pct>`

```
          \[고급] 파일 시스템에 확보할 목표 여유 공간의 비율을 설정합니다.

          `--max-disk-cache`이(가) 지정되지 않으면 파일 시스템의 사용 가능한 공간이 이 비율 이하로 떨어질 때 평가기에서 디스크 캐시 사용량을 줄이려고 합니다.
```

#### `--cache-cleanup=<mode>`

캐시를 트리밍의 강도를 선택합니다. 옵션 포함 사항:

```
          `clear`: 전체 캐시를 제거하여 데이터 세트를 처음 추출했을 때의 상태로 트리밍합니다.

          `trim`
          _(기본값)_: 명시적으로 "캐시된" 조건자를 제외하고 모든 항목을 트리밍합니다.

          `fit`: 디스크 캐시 제한 용량을 초과하지 않도록 확인하여 필요한 만큼 중간 데이터를 삭제해야 합니다.

          `overlay`: 오버레이를 평가할 때 유용한 데이터만 트리밍합니다.
```

#### `--cleanup-upgrade-backups`

데이터베이스 업그레이드로 생성된 모든 백업 디렉토리를 삭제합니다.

### 가져온 트랩을 검사하기 위한 옵션

#### `--[no-]check-undefined-labels`

```
          \[고급] 정의되지 않은 레이블에 대한 오류를 보고합니다.
```

#### `--[no-]check-unused-labels`

```
          \[고급] 사용되지 않은 레이블에 대한 오류를 보고합니다.
```

#### `--[no-]check-repeated-labels`

```
          \[고급] 반복되는 레이블에 대한 오류를 보고합니다.
```

#### `--[no-]check-redefined-labels`

```
          \[고급] 재정의된 레이블에 대한 오류를 보고합니다.
```

#### `--[no-]check-use-before-definition`

```
          \[고급] 정의하기 전에 사용된 레이블에 대한 오류를 보고합니다.
```

#### `--[no-]fail-on-trap-errors`

```
          \[고급] 트랩을 가져오는 과정에서 오류가 발생하면 0이 아닌 값으로 종료합니다.
```

#### `--[no-]include-location-in-star`

```
          \[고급] TRAP 파일에서의 발생 위치를 포함하여 엔터티 ID를 생성합니다. TRAP 생성기 디버깅에 유용할 수 있지만, 데이터셋에서 많은 공간을 차지합니다.
```

#### `--[no-]linkage-aware-import`

```
          \[고급] [codeql dataset import](/code-security/reference/code-scanning/codeql/codeql-cli-manual/dataset-import)가 연결 인식 _(기본값)_ 사용 여부를 제어합니다. 데이터베이스 생성의 이 부분이 너무 많은 메모리를 사용하는 프로젝트에서는, 이 옵션을 비활성화하면 데이터베이스 완전성을 희생하는 대신 진행을 도울 수 있습니다.

          `v2.15.3`부터 사용할 수 있습니다.
```

### 일반 옵션

#### `-h, --help`

이 도움말 텍스트를 표시합니다.

#### `-J=<opt>`

```
          \[고급] 명령을 실행하는 JVM에 옵션을 제공합니다.
```

(옵션에 공백이 포함되면 제대로 처리되지 않을 수 있는 점에 유의해야 합니다.)

#### `-v, --verbose`

출력되는 진행률 메시지 수를 점차적으로 늘립니다.

#### `-q, --quiet`

출력되는 진행률 메시지 수를 점차적으로 줄입니다.

#### `--verbosity=<level>`

```
          \[고급] 세부 정보 표시 수준을 명시적으로 오류, 경고, 진행률, 진행률+, 진행률++, 진행률+++ 중 하나로 설정합니다. 
          `-v` 및 `-q`를 재정의합니다.
```

#### `--logdir=<dir>`

```
          \[고급] 지정한 디렉터리에 상세 로그를 하나 이상의 파일로 작성하며, 생성된 이름에는 타임스탬프와 실행 중인 하위 명령 이름을 포함합니다.
```

(로그 파일 이름을 직접 작성하려면 대신 `--log-to-stderr`을(를) 지정하고 stderr를 원하는 위치로 리디렉션합니다.)

#### `--common-caches=<dir>`

```
          \[고급] 다운로드한 QL 팩 및 컴파일된 쿼리 계획 등 CLI를 여러 번 실행해도 지속되는 디스크의 캐시된 데이터의 위치를 제어합니다. 명시적으로 설정하지 않으면, 기본적으로 사용자의 홈 디렉터리에 이름이 지정된 `.codeql` 디렉터리로 설정됩니다. 디렉터리가 아직 없는 경우에는 만들어집니다.

          `v2.15.2`부터 사용할 수 있습니다.
```