> For the complete documentation index, see [llms.txt](https://wiki.datadike.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wiki.datadike.com/product-docs/integracoes/databases/clickhouse.md).

# 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.
