Pular para o conteúdo principal
clickhousectl é a CLI do ClickHouse: local e na nuvem. Com o clickhousectl, você pode:
  • Instalar e gerenciar versões locais do ClickHouse
  • Iniciar e gerenciar servidores locais do ClickHouse
  • Executar e gerenciar instâncias locais do Postgres
  • Executar consultas em servidores do ClickHouse
  • Configurar o ClickHouse Cloud e criar clusters do ClickHouse gerenciados na nuvem
  • Criar e gerenciar serviços Postgres no ClickHouse Cloud
  • Gerenciar recursos do ClickHouse Cloud
  • Criar e gerenciar ClickPipes para ingestão de dados (S3, Kafka, Kinesis, Postgres, MySQL, MongoDB, BigQuery)
  • Instalar as ClickHouse Agent Skills oficiais de agent do ClickHouse em agentes de codificação compatíveis
  • Enviar seu ambiente local de desenvolvimento com ClickHouse para a nuvem
O clickhousectl ajuda pessoas e agentes de IA a desenvolver com ClickHouse.

Instalação

Instalação rápida

O script de instalação baixa a versão correta para o seu sistema operacional e a instala em ~/.local/bin/clickhousectl. Um alias chctl também é criado automaticamente para facilitar.

Requisitos

Local

Instalando e gerenciando versões do ClickHouse

clickhousectl baixa os binários do ClickHouse de builds.clickhouse.com e usa packages.clickhouse.com (Linux) ou os lançamentos do GitHub (macOS) como alternativa quando uma compilação não está disponível lá.
local use também cria um link simbólico em ~/.local/bin/clickhouse apontando para o binário da versão selecionada, para que o comando clickhouse simples (por exemplo, clickhouse local, clickhouse client) fique no PATH. Passe --no-global para ignorar isso. Se já existir um arquivo comum nesse caminho, ele será mantido como está, com um aviso. O local remove da versão padrão ativa também remove o link simbólico.

Armazenamento dos binários do ClickHouse

Os binários do ClickHouse ficam armazenados em um repositório global, para que possam ser usados por vários projetos sem duplicar o armazenamento. Os binários são armazenados em ~/.clickhouse/:

Iniciando um projeto

init prepara seu diretório de trabalho atual com uma estrutura de pastas padrão para os arquivos do seu projeto ClickHouse e Postgres. É opcional; se preferir, você pode usar sua própria estrutura de pastas. Ele cria a seguinte estrutura:

Executar consultas

Como criar e gerenciar servidores ClickHouse

Inicie e gerencie instâncias do servidor ClickHouse. Cada servidor recebe seu próprio diretório de dados isolado em .clickhouse/servers/<name>/data/.
Nomeação do servidor: Sem --name, o primeiro servidor recebe o nome “default”. Se “default” já estiver em execução, um nome aleatório será gerado (por exemplo, “bold-crane”). Use --name para ter identidades estáveis que possam ser iniciadas e interrompidas repetidamente. Portas: As portas padrão são HTTP 8123 e TCP 9000. Se essas portas já estiverem em uso, portas livres serão atribuídas automaticamente e exibidas na saída. Use --http-port e --tcp-port para definir portas específicas. Gerenciamento global de servidores: Use --global com list, stop e stop-all para operar em todos os projetos do sistema. server list --global mostra todos os servidores ClickHouse em execução, com uma coluna Project indicando a qual diretório cada um pertence.

Arquivos de configuração personalizados para servidores locais

Os servidores locais são iniciados com padrões adequados, mas às vezes é necessário ajustar uma configuração. Coloque um arquivo de configuração em ~/.clickhouse/configs/ e aplique-o pelo nome ao iniciar um servidor:
O arquivo especificado é aplicado sobre as configurações padrão internas do ClickHouse (via config.d), portanto ele só precisa conter as configurações que você deseja alterar, e não há necessidade de reproduzir uma configuração completa. Os arquivos podem ser .xml, .yaml ou .yml, e você pode referenciá-los pelo nome com ou sem a extensão.

Diretório local de dados do projeto

Todos os dados do servidor ficam em .clickhouse/, no diretório do seu projeto:
Cada servidor nomeado tem seu próprio diretório de dados, portanto os servidores ficam totalmente isolados entre si. Os dados persistem entre reinicializações. Pare e inicie um servidor pelo nome para continuar de onde parou. Use clickhousectl local server remove <name> para excluir permanentemente os dados de um servidor.

Executando o Postgres local

Além do ClickHouse, o clickhousectl pode executar e gerenciar instâncias locais do Postgres. O Postgres local usa o Docker como base, portanto o Docker deve estar instalado e em execução. Cada instância é identificada pelo nome e pela versão principal, então várias versões do Postgres podem ser executadas lado a lado, com diretórios de dados separados.

Autenticação

Faça a autenticação no ClickHouse Cloud usando API keys (recomendado) ou OAuth (no navegador). Se você ainda não tem uma conta no ClickHouse Cloud, clickhousectl cloud auth signup abre a página de cadastro no seu navegador.

API key/segredo da API (recomendado)

As API keys são a forma recomendada de autenticação, especialmente ao usar a CLI com um agente de IA. Você pode criar API keys com escopo que concedem apenas as permissões que você escolher (read-only ou leitura/gravação), e cada key está vinculada a uma única organização. Isso torna essa uma forma segura, com privilégio mínimo, de dar acesso à CLI.
As credenciais são salvas em .clickhouse/credentials.json (local do projeto). Você também pode usar variáveis de ambiente, exportadas na sua sessão:
Ou colocadas em um arquivo .env no diretório de trabalho atual:
Ou passe as credenciais diretamente por meio de flags em qualquer comando:

Login com OAuth

Isso abre seu navegador para autenticação pelo fluxo de dispositivo do OAuth. Os tokens são salvos em .clickhouse/tokens.json (local ao projeto).
No momento, o acesso OAuth é somente leitura e concede acesso a todas as organizações às quais você pertence. Para acesso de gravação ou para limitar a CLI a uma única organização, crie uma API key com escopo.

Status da autenticação e logout

Ordem de resolução de credenciais: flags da CLI > .clickhouse/credentials.json > variáveis de ambiente exportadas > arquivo .env > tokens OAuth.

Como depurar qual fonte de credenciais foi usada

Passe --debug em qualquer comando cloud para exibir em stderr a fonte de credenciais determinada (e a URL da API) antes da execução do comando.

Cloud

Gerencie os serviços do ClickHouse Cloud pela API.

Organizações

Serviços

Opções de criação do serviço

Modos de autenticação da Query API

cloud service query é a maneira padrão de executar SQL em um serviço na nuvem via HTTP, sem exigir o binário clickhouse nem a senha do serviço. Ele funciona com ambos os modos de credenciais:
  • Autenticação por API key (leitura + escrita de SQL): na primeira vez que cloud service query é executado em um serviço sem uma chave armazenada, ele provisiona um endpoint da Query API para esse serviço e cria uma API key dedicada vinculada a ele. A chave (keyId, keySecret e endpointId) é armazenada em .clickhouse/credentials.json, em service_query_keys.<service-id>. A chave fica restrita a um único serviço, portanto pode ler e escrever (SELECT, INSERT, DDL) nesse serviço, mas não pode acessar nenhum outro serviço na org. Passe --no-auto-enable para falhar em vez de provisionar.
  • OAuth (cloud auth login): a consulta é executada com a sua própria identidade, assim como no console SQL da web. Suas permissões de SQL no serviço são somente leitura ao usar OAuth. Nenhuma API key da Query API é provisionada nem armazenada. --no-auto-enable não tem efeito nesse modo.
Consultar um serviço inativo o reativa automaticamente em ambos os modos de autenticação (a primeira consulta pode levar um minuto). Um serviço parado nunca é reativado: a consulta falha com uma dica para executar cloud service start. Defina CLICKHOUSE_CLOUD_QUERY_HOST para substituir o host derivado da Query API.

Gerenciamento de endpoints de consulta

Gerenciamento de Private Endpoint

Configuração do Backup

Serviços Postgres

clickhousectl também pode criar e gerenciar serviços ClickHouse Cloud Postgres, seguindo o mesmo padrão dos comandos de serviço do ClickHouse acima.

Opções de criação do serviço Postgres

Backups

ClickPipes

Gerencie ClickPipes para ingestão de dados no ClickHouse Cloud a partir de fontes externas.

Criando ClickPipes

Cada tipo de origem tem seu próprio subcomando no clickpipe create:
Use clickhousectl cloud clickpipe create <source> --help para ver a lista completa de opções para cada tipo de origem.

Membros

Convites

Chaves

Atividade

Saída em JSON

Use a flag --json para imprimir respostas no formato JSON.
clickhousectl detecta automaticamente contextos de agentes de codificação (Claude Code, Cursor, Codex, Gemini CLI, Goose, Devin e qualquer ferramenta que defina a variável de ambiente padrão AGENT) e envia JSON para stdout automaticamente, sem definir --json.

Códigos de saída

Os códigos de saída seguem as convenções da CLI gh:

Skills

Instale o pacote oficial ClickHouse Agent Skills em ClickHouse/agent-skills.

Flags não interativas

Autoatualização

clickhousectl pode se autoatualizar para o lançamento mais recente:
A CLI também verifica atualizações em segundo plano (no máximo uma vez a cada 24 horas) e exibe um aviso quando há uma versão mais recente disponível.
Última modificação em 25 de junho de 2026