# ClickHouse

## Passo a Passo: Configuração Completa

#### Passo 1 — Criar o Ativo (Asset)

1. Acesse **Console → Ativos → Lista de Ativos**
2. Clique em **"+ Criar"** e selecione a categoria **Banco de Dados → ClickHouse**
3. Preencha os campos:

| Campo      | Valor Exemplo           | Observação                       |
| ---------- | ----------------------- | -------------------------------- |
| Nome       | ClickHouse-Analytics-01 | Nome identificador do ativo      |
| IP/Host    | 192.168.1.70            | Endereço do servidor ClickHouse  |
| Porta      | 9000                    | Porta nativa do ClickHouse       |
| Plataforma | ClickHouse              | Selecionar plataforma ClickHouse |
| Nó         | /Default                | Nó organizacional                |

4. Clique em **Enviar** para salvar

#### Passo 2 — Adicionar Conta (Account)

1. Acesse o ativo ClickHouse criado → aba **Contas**
2. Clique em **"+ Criar"**
3. Preencha:

| Campo   | Valor      | Observação             |
| ------- | ---------- | ---------------------- |
| Nome    | ch-admin   | Identificador da conta |
| Usuário | PAM\_admin | Usuário ClickHouse     |
| Senha   | ●●●●●●●●   | Senha do usuário       |

4. Clique em **Enviar**

#### Passo 3 — Criar Autorização (Asset Permission)

1. Acesse **Console → Permissões → Permissões de Ativos**
2. Clique em **"+ Criar"**
3. Configure:

| Campo              | Valor                             |
| ------------------ | --------------------------------- |
| Nome               | Acesso-ClickHouse-Analytics       |
| Usuários           | Selecionar usuário(s) ou grupo(s) |
| Ativos             | ClickHouse-Analytics-01           |
| Contas             | ch-admin                          |
| Ações              | Conectar, Copiar/Colar            |
| Data de início/fim | Conforme política                 |

4. Clique em **Enviar**

***

### Passo 4 — Conectar ao ClickHouse

Após a configuração, o usuário autorizado pode acessar o ClickHouse pelo **Workbench**:

#### Método 1: Web CLI (clickhouse-client)

1. No **Workbench**, localize o ativo ClickHouse
2. Clique em **Web CLI**
3. Um terminal clickhouse-client abrirá diretamente no navegador
4. Execute consultas SQL normalmente:

```sql
SHOW DATABASES;
USE minha_base;
SHOW TABLES;
SELECT count() FROM minha_tabela;
SELECT * FROM minha_tabela LIMIT 10;
```

> **Dica:** O Web CLI é ideal para consultas rápidas e operações administrativas.

#### Método 2: RemoteApp

1. No **Workbench**, clique em **RemoteApp**
2. Uma aplicação (ex: DBeaver ou DataGrip) será aberta via sessão remota
3. A conexão é estabelecida automaticamente com as credenciais configuradas
4. Use a interface gráfica para navegar databases, tabelas e executar queries complexas

***

### Passo 5 — Verificação e Testes

| Teste         | Comando / Ação                              | Resultado Esperado   |
| ------------- | ------------------------------------------- | -------------------- |
| Conectividade | `clickhouse-client --host <IP> --port 9000` | Conexão estabelecida |
| Autenticação  | Login com usuário/senha                     | Acesso concedido     |
| Consulta      | `SELECT 1`                                  | Resultado: 1         |
| Web CLI       | Acessar via Workbench                       | Terminal funcional   |
| Auditoria     | Console → Auditoria → Sessões               | Sessão registrada    |

***

### Troubleshooting ClickHouse

| Problema                     | Causa Provável                        | Solução                                                      |
| ---------------------------- | ------------------------------------- | ------------------------------------------------------------ |
| Erro "Authentication failed" | Credenciais incorretas                | Verificar usuário e senha no ClickHouse                      |
| Connection refused           | ClickHouse não escutando na interface | Adicionar `<listen_host>0.0.0.0</listen_host>` no config.xml |
| Connection timeout           | Firewall ou rede                      | Liberar porta 9000 entre PAM e ClickHouse                    |
| Erro "Access denied"         | Usuário sem GRANT adequado            | Verificar permissões: `SHOW GRANTS FOR user`                 |
| Porta errada                 | Usando 8123 (HTTP) ao invés de 9000   | PAM usa protocolo nativo (porta 9000)                        |
| Usuário não vê o ativo       | Falta autorização                     | Criar Asset Permission para o usuário                        |

> **Nota:** O ClickHouse é otimizado para consultas analíticas em grandes volumes. Diferente de bancos transacionais (OLTP), ele é ideal para agregações, relatórios e análises de dados históricos. O PAM audita todas as queries SQL executadas.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://wiki.datadike.com/integracoes/databases/clickhouse.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
