> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> Tabela de sistema que contém os IDs das consultas executadas na sessão atual.

# system.session_query_ids

## Description

Contém os IDs das consultas das consultas executadas na sessão atual, em ordem de execução. Use-a para encontrar "as consultas que acabei de executar" em [`system.query_log`](/docs/pt-BR/reference/system-tables/query_log) sem precisar atribuir `query_id` no client-side nem marcar consultas com `log_comment`.

O conteúdo tem escopo de sessão: cada sessão vê apenas o seu próprio histórico, e as consultas de outras sessões nunca aparecem.

Um ID da consulta é registrado quando a consulta *inicia*, portanto:

* A consulta em execução no momento já aparece quando ela faz um SELECT na tabela.
* Consultas que falharam também são registradas - obter o ID da consulta de uma consulta que acabou de falhar é um dos principais casos de uso.

Consultas internas (flushes de logs do sistema e similares) não são registradas. Subconsultas que as consultas distribuídas executam em shards remotos também não são registradas - apenas a consulta que as originou aparece, na sessão do initiator.

### Escopo de sessão por interface

* **Conexões nativas/TCP** (`clickhouse-client`, drivers) e **`clickhouse-local`**: a sessão é a conexão, portanto o histórico acumula todas as consultas da conexão, incluindo invocações do cliente com múltiplas consultas.
* **HTTP com o parâmetro `session_id`**: o histórico persiste entre as requisições que passam o mesmo `session_id`, até que a sessão expire.
* **HTTP sem `session_id`**: cada requisição é uma sessão própria, portanto a tabela mostra apenas a consulta atual.

### Tamanho do histórico

O histórico é um buffer circular limitado pela configuração de sessão `session_query_ids_history_size` (padrão `1000`); quando o histórico excede esse tamanho, as entradas mais antigas são removidas primeiro. Definir o valor como `0` desativa o registro; as entradas registradas anteriormente permanecem na tabela até serem truncadas ou removidas.

A configuração é lida no início da consulta, antes de ela ser convertida, portanto uma cláusula `SETTINGS` na própria consulta não influencia se aquela consulta será registrada; em vez disso, use `SET`, um parâmetro de URL HTTP ou um perfil de configurações.

### TRUNCATE

`TRUNCATE TABLE system.session_query_ids` limpa o histórico da sessão atual. O contador de sequência não é redefinido, portanto os valores de `sequence_number` nunca são reutilizados dentro de uma sessão.

## Colunas

* `sequence_number` ([UInt64](/docs/pt-BR/reference/data-types/int-uint)) — Posição da consulta na sessão, monotonicamente crescente.
* `query_id` ([String](/docs/pt-BR/reference/data-types/string)) — O id da consulta; pode ser usado em um join com `system.query_log`.

## Exemplo

Execute algumas consultas e, em seguida, obtenha seus detalhes em [`system.query_log`](/docs/pt-BR/reference/system-tables/query_log):

```sql theme={null}
SELECT 1 FORMAT Null;
SELECT 2 FORMAT Null;

SELECT * FROM system.session_query_ids;
```

```text theme={null}
┌─sequence_number─┬─query_id─────────────────────────────┐
│               1 │ 4c9e97a3-b806-4a5c-9a94-5a614c3d0b3f │
│               2 │ 8f9a2f59-30d3-4f8e-b3a1-6a0c1a4d3e2b │
│               3 │ f2b1c4d8-7e6a-4b5c-8d9e-0a1b2c3d4e5f │
└─────────────────┴──────────────────────────────────────┘
```

A consulta atual é registrada no seu início, portanto aparece como a última entrada. Timestamps, status e todos os demais detalhes ficam disponíveis ao fazer join com `system.query_log`:

```sql theme={null}
SYSTEM FLUSH LOGS query_log;

SELECT query_id, type, query, query_duration_ms
FROM system.query_log
WHERE query_id IN (SELECT query_id FROM system.session_query_ids)
ORDER BY event_time_microseconds;
```

## Veja também

* [system.query\_log](/docs/pt-BR/reference/system-tables/query_log) - Detalhes das consultas executadas.
* configuração `session_query_ids_history_size`.
