Pular para o conteúdo principal

Visão geral

Há várias maneiras de executar instruções com configurações específicas. As configurações são aplicadas em camadas, e cada camada seguinte substitui os valores definidos na camada anterior.

Ordem de prioridade

A ordem de prioridade para definir uma configuração é:
  1. Aplicar uma configuração diretamente a um usuário ou em um perfil de configurações
    • SQL (recomendado)
    • adicionar um ou mais arquivos XML ou YAML a /etc/clickhouse-server/users.d
  2. Configurações de sessão
    • Envie SET setting=value pelo SQL Console do ClickHouse Cloud ou pelo clickhouse client no modo interativo. Da mesma forma, você pode usar sessões do ClickHouse no protocolo HTTP. Para isso, é necessário especificar o parâmetro HTTP session_id.
  3. Configurações da consulta
    • Ao iniciar o clickhouse client no modo não interativo, defina o parâmetro de inicialização --setting=value.
    • Ao usar a API HTTP, passe parâmetros CGI (URL?setting_1=value&setting_2=value...).
    • Defina as configurações na SETTINGS cláusula da consulta SELECT. O valor da configuração é aplicado somente àquela consulta e é redefinido para o valor padrão ou anterior após a execução da consulta.

Convertendo uma configuração para o valor padrão

Se você alterar uma configuração e quiser revertê-la ao valor padrão, defina o valor como DEFAULT. A sintaxe é a seguinte:
Por exemplo, o valor padrão de async_insert é 0. Suponha que você altere esse valor para 1:
A resposta é:
O comando a seguir redefine o valor para 0:
A configuração agora voltou ao valor padrão:

Configurações personalizadas

Além das configurações comuns, os usuários podem definir configurações personalizadas. As configurações personalizadas permitem passar parâmetros específicos da sessão que podem ser referenciados em consultas, políticas ou funções. Isso é útil quando você precisa:
  • Filtrar dados com base na identidade do usuário ou na organização
  • Aplicar lógicas de negócios diferentes de acordo com o contexto
  • Manter informações com preservação de estado entre consultas em uma sessão
O nome de uma configuração personalizada deve começar com um dos prefixos predefinidos de uma lista definida por você. A lista de prefixos pode ser especificada usando a configuração de servidor custom_settings_prefixes, definida no arquivo de configuração do servidor. No exemplo abaixo, SQL_ é usado como prefixo personalizado:
No ClickHouse Cloud, não é possível especificar um prefixo personalizado. Todas as configurações de usuário personalizadas começam com o prefixo SQL_.
Para definir uma configuração personalizada, use o comando SET:
Para obter o valor atual de uma configuração personalizada, use a função getSetting():

Exemplos

Todos estes exemplos definem o valor da configuração async_insert como 1 e mostram como verificar as configurações em um sistema em funcionamento.

Usando SQL para aplicar uma configuração diretamente a um usuário

Isso cria o usuário ingester com a configuração async_inset = 1:

Examine o perfil de configurações e sua atribuição

Usando SQL para criar um perfil de configurações e atribuí-lo a um usuário

Isso cria o perfil log_ingest com a configuração async_inset = 1:
Isso cria o usuário ingester e atribui a ele o perfil de configurações log_ingest:

Criando um perfil de configurações e um usuário com XML

/etc/clickhouse-server/users.d/users.xml

Verifique o perfil de configurações e a atribuição

Definir uma configuração para uma sessão

Definir uma configuração durante uma consulta

Veja também

Última modificação em 29 de junho de 2026