{"meta":{"title":"query run","intro":"Execute uma consulta individual.","product":"Qualidade de segurança e código","breadcrumbs":[{"href":"/pt/enterprise-server@3.20/code-security","title":"Qualidade de segurança e código"},{"href":"/pt/enterprise-server@3.20/code-security/reference","title":"Referência"},{"href":"/pt/enterprise-server@3.20/code-security/reference/code-scanning","title":"Varredura de código"},{"href":"/pt/enterprise-server@3.20/code-security/reference/code-scanning/codeql","title":"CodeQL"},{"href":"/pt/enterprise-server@3.20/code-security/reference/code-scanning/codeql/codeql-cli-manual","title":"Manual da CLI do CodeQL"},{"href":"/pt/enterprise-server@3.20/code-security/reference/code-scanning/codeql/codeql-cli-manual/query-run","title":"query run"}],"documentType":"article"},"body":"# query run\n\nExecute uma consulta individual.\n\n> \\[!NOTE]\n> 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>.\n>\n> 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.\n\n## Sinopse\n\n```shell copy\ncodeql query run (--database=<database> | --dataset=<dataset>) [--output=<file.bqrs>] [--threads=<num>] [--ram=<MB>] <options>... -- <file.ql>\n```\n\n## Description\n\nExecute uma consulta individual.\n\nEsse comando executa uma consulta individual em um banco de dados CodeQL ou em um conjunto de dados QL bruto.\n\nPor padrão, o resultado da consulta será exibido no terminal em uma renderização amigável para humanos. Caso você deseje fazer o processamento posterior dos resultados, recomendamos fortemente usar a opção `--output` para gravar os resultados em um arquivo em um formato binário intermediário, que pode ser descompactado em várias representações mais amigáveis para computador por [codeql bqrs decode](/pt/enterprise-server@3.20/code-security/reference/code-scanning/codeql/codeql-cli-manual/bqrs-decode).\n\nSe a consulta produzir resultados em um formato que possa ser interpretado como alertas de código-fonte, talvez uma forma mais conveniente de executá-la seja usando [codeql database analyze](/pt/enterprise-server@3.20/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-analyze). Em particular, [codeql database analyze](/pt/enterprise-server@3.20/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-analyze) pode produzir a saída no formato SARIF, que pode ser usado com uma variedade de visualizadores de alertas.\n\nPara executar várias consultas em paralelo, confira [codeql database run-queries](/pt/enterprise-server@3.20/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-run-queries).\n\n## Opções\n\n### Opções principais\n\n#### `<file.ql>`\n\n```\n          \\[Obrigatório] Origem de QL da consulta a ser executada.\n```\n\n#### `-o, --output=<file.bqrs>`\n\nUm arquivo em que a saída da consulta será gravada no formato BQRS.\n\n### Opções para selecionar o que será consultado\n\nExatamente uma dessas opções precisa ser fornecida.\n\n#### `-d, --database=<database>`\n\nCaminho para um banco de dados CodeQL a ser consultado.\n\n#### `--dataset=<dataset>`\n\n```\n          \\[Avançado] Caminho para um conjunto de dados de QL bruto para consulta.\n```\n\n### Opções para controlar o avaliador de consulta\n\n#### `--[no-]tuple-counting`\n\n```\n          \\[Avançado] Veja as contagens de tupla de cada etapa de avaliação nos logs do avaliador de consulta. Se a opção `--evaluator-log` for fornecida, as contagens de tupla serão incluídas nos logs JSON baseados em texto e estruturados produzidos pelo comando. (Isso pode ser útil para a otimização de desempenho de um código QL complexo).\n```\n\n#### `--timeout=<seconds>`\n\n```\n          \\[Avançado] Defina o tempo limite para avaliação da consulta, em segundos.\n```\n\nO recurso de tempo limite se destina a capturar casos em que uma consulta complexa levará um tempo prologado indeterminado para ser avaliada. Não é uma forma eficaz de limitar o tempo total que a avaliação de consulta pode levar. A avaliação terá permissão para continuar, desde que cada parte cronometrada separadamente da computação seja concluída dentro do tempo limite. Atualmente, essas partes cronometradas separadamente são \"camadas de RA\" da consulta otimizada, mas isso poderá mudar no futuro.\n\nSe nenhum tempo limite for especificado ou for fornecido como 0, nenhum tempo limite será definido (exceto [codeql test run](/pt/enterprise-server@3.20/code-security/reference/code-scanning/codeql/codeql-cli-manual/test-run), sendo que o tempo limite padrão é de cinco minutos).\n\n#### `-j, --threads=<num>`\n\nUse esse número de threads para avaliar as consultas.\n\nO 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).\n\n#### `--[no-]save-cache`\n\n```\n          \\[Preterido] Avançado] \\[Este sinalizador não faz nada.\n```\n\n#### `--[no-]expect-discarded-cache`\n\n```\n          \\[Avançado] Tome decisões sobre os predicados que serão avaliados e o que será gravado no cache de disco, com base na suposição de que o cache será descartado após a execução das consultas.\n```\n\n#### `--[no-]keep-full-cache`\n\n```\n          \\[Avançado] Não limpe o cache de disco após a conclusão da avaliação.\n```\n\nIsso poderá economizar tempo se você executar [codeql dataset cleanup](/pt/enterprise-server@3.20/code-security/reference/code-scanning/codeql/codeql-cli-manual/dataset-cleanup) ou [codeql database cleanup](/pt/enterprise-server@3.20/code-security/reference/code-scanning/codeql/codeql-cli-manual/database-cleanup) posteriormente de qualquer maneira.\n\n#### `--max-disk-cache=<MB>`\n\nDefina a quantidade máxima de espaço que pode ser usada pelo cache de disco para os resultados intermediários da consulta.\n\nSe 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.\n\n#### `--min-disk-free=<MB>`\n\n```\n          \\[Avançado] Defina a quantidade de destino de espaço livre no sistema de arquivos.\n```\n\nSe `--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.\n\n#### `--min-disk-free-pct=<pct>`\n\n```\n          \\[Avançado] Defina a fração de destino de espaço livre no sistema de arquivos.\n```\n\nSe `--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.\n\n#### `--external=<pred>=<file.csv>`\n\nUm arquivo CSV que contém linhas para o predicado externo *\\<pred>*.\nÉ possível fornecer várias opções `--external`.\n\n#### `--xterm-progress=<mode>`\n\n```\n          \\[Avançado] Controla se o acompanhamento de progresso deve ser mostrado durante a avaliação de QL usando sequências do controle xterm. Os valores possíveis são:\n\n          `no`: nunca produza um progresso sofisticado; pressuponha um terminal burro.\n\n          `auto`\n          _(padrão)_ : detecte automaticamente se o comando está sendo executado em um terminal apropriado.\n\n          `yes`: suponha que o terminal possa entender as sequências do controle xterm. O recurso ainda depende da capacidade de detecção automática do _tamanho_ do terminal (que não é implementado no Windows, desculpe) e também será desabilitado se `-q` for fornecido.\n\n          `25x80` (ou semelhante): como `yes`, além de fornecer explicitamente o tamanho do terminal. (Ao contrário do `yes`, isso deve funcionar no Windows).\n\n          `25x80:/dev/pts/17` (ou semelhante): mostre um progresso sofisticado em um terminal _diferente_ do stderr. Principalmente útil para testes internos.\n```\n\n### Opções para controlar a saída de logs estruturados do avaliador\n\n#### `--evaluator-log=<file>`\n\n```\n          \\[Avançado] Gera logs estruturados sobre o desempenho do avaliador no arquivo especificado. O formato desse arquivo de log está sujeito a alterações sem aviso prévio, mas será um fluxo de objetos JSON separados por dois caracteres de nova linha (por padrão) ou um se a opção `--evaluator-log-minify` for transmitida. Use `codeql generate log-summary <file>` para produzir um resumo mais estável desse arquivo e evitar a análise direta dele. O arquivo será substituído se ele já existir.\n```\n\n#### `--evaluator-log-minify`\n\n```\n          \\[Avançado] Se a opção `--evaluator-log` for transmitida, também transmitir essa opção minimizará o tamanho do log JSON produzido, em detrimento de torná-lo muito menos legível por humanos.\n```\n\n### Opções para controlar o uso de RAM\n\n#### `-M, --ram=<MB>`\n\nO avaliador de consulta se esforçará para manter seu volume de memória total abaixo desse valor. (No entanto, para bancos de dados grandes, é possível que o limite seja quebrado por mapas de memória com suporte de arquivo, que podem ser transferidos para disco em caso de pressão de memória).\n\nO valor deve ser de pelo menos 2048 MB; valores menores serão arredondados de forma transparente.\n\n### Opções para controlar a compilação de QL\n\n#### `--warnings=<mode>`\n\nComo lidar com os avisos do compilador de QL. Um destes:\n\n```\n          `hide`: Suprimir avisos.\n\n          `show`\n          _(padrão)_: imprima os avisos, mas continue com a compilação.\n\n          `error`: tratar avisos como erros.\n```\n\n#### `--no-debug-info`\n\nNão emita as informações de local de origem no RA para depuração.\n\n#### `--[no-]fast-compilation`\n\n```\n          \\[Obsoleto] \\[Avançado] Omita etapas de otimização particularmente lentas.\n```\n\n#### `--no-release-compatibility`\n\n```\n          \\[Avançado] Utilize os recursos mais recentes do compilador, ao custo da portabilidade.\n```\n\nDe tempos em tempos, novos recursos da linguagem QL e otimizações do avaliador terão suporte do avaliador de QL algumas versões antes de serem habilitadas por padrão no compilador de QL. Isso ajuda a garantir que o desempenho que você experimenta ao desenvolver consultas na versão mais recente do CodeQL possa ser equivalente ao de versões um pouco mais antigas que ainda podem estar em uso para a verificação de código ou as integrações de CI.\n\nSe você não se importa que suas consultas sejam compatíveis com outras versões (anteriores ou posteriores) do CodeQL, às vezes, você pode obter uma pequena quantidade de desempenho extra usando esse sinalizador para habilitar aprimoramentos recentes no compilador antecipadamente.\n\nNas versões em que não há aprimoramentos recentes a serem habilitados, essa opção silenciosamente não executa nenhuma ação. Portanto, é seguro defini-la de uma vez por todas no arquivo de configuração global do CodeQL.\n\nDisponível desde `v2.11.1`.\n\n#### `--[no-]local-checking`\n\nSó execute verificações iniciais na parte da fonte de QL usada.\n\n#### `--no-metadata-verification`\n\nNão verifique a validade dos metadados de consulta inseridos nos comentários do QLDoc.\n\n#### `--compilation-cache-size=<MB>`\n\n```\n          \\[Avançado] Substitui o tamanho máximo padrão para um diretório de cache de compilação.\n```\n\n#### `--fail-on-ambiguous-relation-name`\n\n```\n          \\[Avançado] A compilação falhará se um nome de relação ambíguo for gerado durante a compilação.\n```\n\n### Opções para configurar o ambiente de compilação\n\n#### `--search-path=<dir>[:<dir>...]`\n\nUma lista de diretórios nos quais os pacotes QL podem ser encontrados. Cada diretório pode ser um pacote QL (ou um conjunto de pacotes que contém um arquivo `.codeqlmanifest.json` na raiz) ou o pai imediato de um ou mais desses diretórios.\n\nSe o caminho contiver mais de um diretório, a ordem deles definirá a precedência entre eles: quando for encontrada uma correspondência do nome de um pacote que precisa ser resolvido em mais de uma das árvores do diretório, a primeira fornecida vencerá.\n\nSe você apontar isso para um check-out do repositório do CodeQL de código aberto, isso deverá funcionar durante a consulta de uma das linguagens que se encontram nele.\n\nSe você tiver feito check-out do repositório do CodeQL como um irmão da cadeia de ferramentas CodeQL descompactada, não precisará fornecer essa opção. Nesses diretórios irmãos, sempre será feita a pesquisa por pacotes QL que não podem ser encontrados de outra forma. (Caso esse padrão não funcione, recomendamos fortemente configurar `--search-path` de uma vez por todas em um arquivo de configuração por usuário).\n\n(Observação: no Windows, o separador de caminho é `;`).\n\n#### `--additional-packs=<dir>[:<dir>...]`\n\nSe essa lista de diretórios for fornecida, nesses diretórios, será feita a pesquisa de pacotes antes daqueles contidos em `--search-path`. A ordem entre eles não importa: será indicado um erro se o nome de um pacote for encontrado em dois locais diferentes nessa lista.\n\nIsso será útil se você estiver desenvolvendo temporariamente uma nova versão de um pacote que também aparece no caminho padrão. Por outro lado, *não recomendamos* substituir essa opção em um arquivo de configuração. Algumas ações internas adicionarão essa opção em tempo real, substituindo qualquer valor configurado.\n\n(Observação: no Windows, o separador de caminho é `;`).\n\n#### `--library-path=<dir>[:<dir>...]`\n\n```\n          \\[Avançado] Uma lista opcional de diretórios que serão adicionados ao caminho de pesquisa de importação bruta para bibliotecas QL. Isso só deverá ser usado se você estiver usando bibliotecas QL que não foram empacotadas como pacotes QL.\n```\n\n(Observação: no Windows, o separador de caminho é `;`).\n\n#### `--dbscheme=<file>`\n\n```\n          \\[Avançado] Defina explicitamente em relação a qual esquema de banco de dados as consultas devem ser compiladas. Isso só deve ser fornecido pelos chamadores que têm certeza do que estão fazendo.\n```\n\n#### `--compilation-cache=<dir>`\n\n```\n          \\[Avançado] Especifique um diretório adicional para usar como cache de compilação.\n```\n\n#### `--no-default-compilation-cache`\n\n```\n          \\[Avançado] Não utilize caches de compilação em locais padrão, como no pacote QL que contém a consulta ou no diretório da cadeia de ferramentas CodeQL.\n```\n\n### Opções para configurar o gerenciador de pacotes CodeQL\n\n#### `--registries-auth-stdin`\n\nAutentique-se nos registros de contêiner do GitHub Enterprise Server transmitindo uma lista separada por vírgula de pares \\<registry\\_url>=\\<token>.\n\nPor exemplo, você pode transmitir `https://containers.GHEHOSTNAME1/v2/=TOKEN1,https://containers.GHEHOSTNAME2/v2/=TOKEN2`\npara se autenticar em duas instâncias do GitHub Enterprise Server.\n\nIsso substitui as variáveis de ambiente CODEQL\\_REGISTRIES\\_AUTH e GITHUB\\_TOKEN. Se você só precisar se autenticar no registro de contêiner do github.com, poderá se autenticar usando a opção `--github-auth-stdin` mais simples.\n\n#### `--github-auth-stdin`\n\nAutentique-se no registro de contêiner do github.com transmitindo um token do GitHub Apps do github.com ou um token de acesso pessoal por meio da entrada padrão.\n\nPara se autenticar nos registros de contêiner do GitHub Enterprise Server, transmita `--registries-auth-stdin` ou use a variável de ambiente CODEQL\\_REGISTRIES\\_AUTH.\n\nIsso substitui a variável de ambiente GITHUB\\_TOKEN.\n\n### Opções para controlar os pacotes de extensão\n\n####\n\n```\n          `--model-packs=<`\n          <name@range>>...\n```\n\nUma lista de nomes de pacotes CodeQL, cada um com um intervalo de versões opcional, a serem usados como pacotes de modelo para personalizar as consultas que estão prestes a ser avaliadas.\n\n### Opções comuns\n\n#### `-h, --help`\n\nMostre este texto de ajuda.\n\n#### `-J=<opt>`\n\n```\n          \\[Avançado] Dê opções à JVM que executa o comando.\n```\n\n(Use-a com cautela, pois as opções que contêm espaços não serão tratadas corretamente.)\n\n#### `-v, --verbose`\n\nAumente incrementalmente o número de mensagens de progresso impressas.\n\n#### `-q, --quiet`\n\nDiminua incrementalmente o número de mensagens de progresso impressas.\n\n#### `--verbosity=<level>`\n\n```\n          \\[Avançado] Defina explicitamente o nível de detalhamento para um dos seguintes: erros, avisos, progresso, progresso+, progresso++, progresso+++. Substitui `-v` e `-q`.\n```\n\n#### `--logdir=<dir>`\n\n```\n          \\[Avançado] Grava registros detalhados em um ou mais arquivos no diretório especificado, com nomes gerados que incluem carimbos de data/hora e o nome do subcomando em execução.\n```\n\n(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.)\n\n#### `--common-caches=<dir>`\n\n```\n          \\[Avançado] Controla a localização dos dados em cache no disco que persistirão entre várias execuções da CLI, como pacotes QL baixados e planos de consulta compilados. 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.\n```\n\nDisponível desde `v2.15.2`."}