# finalização do banco de dados

\[Conexão] Etapas finais na criação de banco de dados.

> \[!NOTE]
> Este conteúdo descreve a versão mais recente do CodeQL CLI. Para obter mais informações sobre essa versão, confira <https://github.com/github/codeql-cli-binaries/releases>.
>
> Para ver os detalhes das opções disponíveis para esse comando em uma versão anterior, execute o comando com a opção <span style="white-space: nowrap;">`--help`</span> no terminal.

## Sinopse

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

## Description

\[Conexão] Etapas finais na criação de banco de dados.

Finalize um banco de dados que foi criado com [codeql database init](/pt/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-init) e, posteriormente, propagado com os dados da análise usando [codeql database trace-command](/pt/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-trace-command). Isso precisa acontecer antes que o novo banco de dados possa ser consultado.

## Opções

### Opções principais

#### `<database>`

\[Obrigatório] Caminho para o banco de dados CodeQL em construção. Isso precisa ter sido preparado para extração com [codeql database init](/pt/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-init).

Se a opção `--db-cluster` for fornecida, esse não será um banco de dados propriamente dito, mas um diretório que *contém* bancos de dados, e todos esses bancos de dados serão processados juntos.

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

Indica que o diretório fornecido na linha de comando não é um banco de dados propriamente dito, mas um diretório que *contém* um ou mais bancos de dados em construção. Esses bancos de dados serão processados juntos.

#### `--working-dir=<dir>`

\[Avançado] O diretório no qual o comando especificado deve ser executado. Se esse argumento não for fornecido, o comando será executado no valor de `--source-root` transmitido para [codeql database create](/pt/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-create), se houver um. Se nenhum argumento `--source-root` for fornecido, o comando será executado no diretório de trabalho atual.

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

\[Avançado] Caminho para bancos de dados CodeQL adicionais em construção.
Eles não serão finalizados, mas os dados deles serão incluídos no banco de dados finalizado que está sendo criado. Essa é uma opção avançada que pode não ter o efeito desejado em todos os casos. Para obter mais informações, confira a documentação de [codeql database import](/pt/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-import).

Se a opção `--db-cluster` for fornecida, será esperado que eles sejam clusters de banco de dados em vez de bancos de dados CodeQL individuais.

(Observação: no Windows, o separador de caminho é `;`).

#### `--no-cleanup`

\[Avançado] Suprima toda a limpeza do banco de dados após a finalização. Útil para fins de depuração.

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

\[Avançado] Ignore todos os scripts de pré-finalização especificados pelo extrator ativo do CodeQL.

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

\[Avançado] Gere um aviso em vez de causar uma falha se um banco de dados estiver vazio devido a nenhum código-fonte ter sido visto durante o build. O banco de dados vazio será deixado sem finalização.

### Opções para controlar a operação de importação de TRAP

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

\[Avançado] Substitua a definição de dbscheme detectada automaticamente a qual os arquivos TRAP devem seguir. Normalmente, isso é obtido do extrator do banco de dados.

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

Use esse número de threads para a operação de importação.

O valor padrão é 1. Você pode transmitir 0 para usar um thread por núcleo no computador ou -*N* para manter *N* núcleos não utilizados (com a exceção de que ainda será usado, pelo menos, um thread).

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

Use essa quantidade de memória para a operação de importação.

### Opções de limpeza de conjunto de dados de baixo nível

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

Defina a quantidade máxima de espaço que pode ser usada pelo cache de disco para os resultados intermediários da consulta.

Se esse tamanho não for configurado explicitamente, o avaliador tentará usar uma quantidade "razoável" de espaço em cache, com base no tamanho do conjunto de dados e na complexidade das consultas. Se você definir explicitamente um limite mais alto do que esse uso padrão, isso habilitará o cache adicional, que pode acelerar as consultas posteriores.

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

\[Avançado] Defina a quantidade de destino de espaço livre no sistema de arquivos.

Se `--max-disk-cache` não for fornecido, o avaliador tentará reduzir o uso do cache de disco se o espaço livre no sistema de arquivos ficar abaixo desse valor.

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

\[Avançado] Defina a fração de destino de espaço livre no sistema de arquivos.

Se `--max-disk-cache` não for fornecido, o avaliador tentará reduzir o uso do cache de disco se o espaço livre no sistema de arquivos ficar abaixo desse percentual.

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

Selecione o nível de agressividade de corte do cache. As opções incluem:

`clear`: remova todo o cache, reduzindo-o ao estado de um conjunto de dados recém-extraído

`trim`
*(padrão)* : corte tudo, exceto os predicados explicitamente "armazenados em cache".

`fit`: verifique se os limites de tamanho definidos para o cache de disco são observados, excluindo quantos intermediários forem necessários.

`overlay`: corte apenas os dados que serão úteis ao avaliar uma sobreposição.

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

Exclua todos os diretórios de backup resultantes das atualizações de banco de dados.

### Opções para verificar o TRAP importado

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

\[Avançado] Relate os erros de rótulos indefinidos.

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

\[Avançado] Relate os erros de rótulos não utilizados.

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

\[Avançado] Relate os erros de rótulos repetidos.

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

\[Avançado] Relate os erros de rótulos redefinidos.

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

\[Avançado] Relate os erros de rótulos usados antes de serem definidos.

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

\[Avançado] Gere uma saída diferente de zero se ocorrer um erro durante a importação do TRAP.

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

\[Avançado] Construa IDs de entidade que codificam o local no arquivo TRAP de origem. Pode ser útil para a depuração de geradores TRAP, mas ocupa muito espaço no conjunto de dados.

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

\[Avançado] Controla se a [importação do conjunto de dados codeql](/pt/code-security/reference/code-scanning/codeql/codeql-cli-manual/dataset-import) é compatível com vinculação *(padrão)* ou não. Em projetos em que essa parte da criação de banco de dados consome muita memória, desabilitar essa opção pode ajudá-los a progredir às custas da integridade do banco de dados.

Disponível desde `v2.15.3`.

### Opções comuns

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

Mostre este texto de ajuda.

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

\[Avançado] Forneça a opção para a JVM que executa o comando.

(Use-a com cautela, pois as opções que contêm espaços não serão tratadas corretamente.)

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

Aumente de forma incremental o número de mensagens de progresso impressas.

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

Diminua incrementalmente o número de mensagens de progresso impressas.

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

\[Avançado] Defina explicitamente o nível de detalhamento como erros, avisos, progresso, progresso+, progresso++ ou progresso+++. Substitui `-v` e `-q`.

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

\[Avançado] Escreva logs detalhados em um ou mais arquivos no diretório fornecido, com nomes gerados que incluem carimbos de data/hora e o nome do subcomando em execução.

(Para gravar um arquivo de log com um nome sobre o qual você tem controle completo, forneça `--log-to-stderr` e redirecione stderr conforme desejado.)

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

\[Avançado] Controle a localização dos dados armazenados em cache no disco que persistirão entre várias execuções da CLI, como pacotes QL baixados e planos de consulta compilada. Se não for definido explicitamente, o padrão corresponde a um diretório intitulado `.codeql` no diretório inicial do usuário; que será criado se ainda não existir.

Disponível desde `v2.15.2`.