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

# Extensões Disponíveis

> Instale e gerencie extensões do VillageSQL.

O VillageSQL vem com extensões integradas e oferece suporte a extensões oficiais criadas e mantidas pela equipe do VillageSQL. Instale qualquer uma delas com `INSTALL EXTENSION`.

## Extensões Integradas

<Warning>
  Ao compilar a partir do código-fonte, apenas `vsql_complex` e `vsql_simple` são incluídas. Para obter o conjunto completo de extensões empacotadas, use o [script de instalação](/docs/pt-BR/mysql-8.4/stable/quickstart).
</Warning>

### vsql\_complex

**Status:** Integrada ao VillageSQL
**Repositório:** [villagesql-server/villagesql/examples/vsql-complex](https://github.com/villagesql/villagesql-server/tree/main/villagesql/examples/vsql-complex)

Tipo de dados de número complexo com suporte aritmético completo para engenharia elétrica, processamento de sinais e computação científica.

**Recursos:**

* Tipo de coluna `COMPLEX` para armazenar números complexos (a + bi)
* Formato de literal de string: `'(real,imaginary)'` (por exemplo, `'(3.0,4.0)'`)
* Aritmética: adição, subtração, multiplicação, divisão
* Utilitários: `complex_real()`, `complex_imag()`, `complex_abs()`, `complex_conjugate()`
* Armazenamento binário: 16 bytes (2 doubles)

**Instalação:**

```sql theme={null}
INSTALL EXTENSION vsql_complex;
```

**Exemplo:**

```sql theme={null}
CREATE TABLE signals (
    id INT PRIMARY KEY,
    impedance COMPLEX,
    frequency_response COMPLEX
);

INSERT INTO signals VALUES
    (1, '(50.0,0.0)', '(0.95,0.31)');

SELECT
    complex_abs(impedance) as magnitude,
    complex_add(impedance, frequency_response) as total
FROM signals;
```

## Extensões Principais

As extensões a seguir são mantidas em repositórios separados e precisam ser compiladas e instaladas separadamente. Cada uma fornece suas próprias instruções de instalação e documentação.

### vsql\_ai

**Repositório:** [villagesql/vsql-ai](https://github.com/villagesql/vsql-ai)

Funções SQL com inteligência artificial. Funções de prompting e de embedding de IA para consultas SQL. Oferece suporte a Anthropic Claude, Google Gemini, OpenAI e Ollama local.

### vsql\_crypto

**Repositório:** [villagesql/vsql-crypto](https://github.com/villagesql/vsql-crypto)

Funções criptográficas. Hashing (MD5, SHA-1, SHA-256, SHA-512 e mais), HMAC, criptografia AES, hashing de senhas e geração segura de dados aleatórios usando OpenSSL.

### vsql\_cube

**Repositório:** [villagesql/vsql-cube](https://github.com/villagesql/vsql-cube)

Tipo de caixa e ponto N-dimensional. Armazene e consulte caixas e pontos geométricos em até 100 dimensões, com funções de construtor, acessor, predicado, distância e geometria. Requer o VillageSQL 0.0.4.

### vsql\_http

**Repositório:** [villagesql/vsql-http](https://github.com/villagesql/vsql-http)

Funções de cliente HTTP. Faça requisições HTTP a partir de consultas SQL (GET, POST, PUT, DELETE, PATCH) com respostas JSON, além de codificação e decodificação de URL.

### vsql\_network\_address

**Repositório:** [villagesql/vsql-network-address](https://github.com/villagesql/vsql-network-address)

Tipos de endereço de rede. Tipos de dados de endereço IPv4, IPv6 e MAC com validação, comparação e operações de rede.

### vsql\_uuid

**Repositório:** [villagesql/vsql-uuid](https://github.com/villagesql/vsql-uuid)

Tipo de dados e funções de UUID. Gere e trabalhe com UUIDs nativamente em SQL (v1, v3, v4, v5, v6 e v7) com um tipo UUID nativo de 16 bytes, extração de timestamp e comparação.

### vsql\_boolean

**Repositório:** [villagesql/vsql-boolean](https://github.com/villagesql/vsql-boolean)

Tipo booleano real. Um verdadeiro tipo de coluna `STRICTBOOL` com valores de verdade padrão (`true`/`false`, `yes`/`no`, `on`/`off`, `1`/`0`), armazenamento de 1 byte e semântica correta de dump/restore. Inclui os agregados `boolean_sum()`, que retorna a contagem de valores `TRUE` em um grupo como um `INT`, e `boolean_avg()`, que retorna a fração de valores `TRUE` (contagem de true ÷ contagem de não nulos) como um `REAL`. Ambos ignoram `NULL`s; `boolean_avg()` retorna `NULL` para um grupo vazio.

### vsql\_rest

**Repositório:** [villagesql/vsql-rest](https://github.com/villagesql/vsql-rest)

Servidor de API REST. Exponha tabelas do banco de dados como endpoints HTTP/HTTPS ao vivo — sem necessidade de código. Configure com `SET GLOBAL`, consulte tabelas usando filtros de URL e chame funções armazenadas via `/rpc/`. Recurso em versão prévia: requer um servidor iniciado com `--vsql_allow_preview_extensions=ON`.

### vsql\_trgm

**Repositório:** [villagesql/vsql-trgm](https://github.com/villagesql/vsql-trgm)

Busca de similaridade de texto baseada em trigramas. Port do `pg_trgm` do PostgreSQL. Calcule pontuações de similaridade entre strings, encontre correspondências aproximadas em uma coluna e meça a similaridade em nível de palavra — tudo a partir do SQL. Requer o VillageSQL 0.0.4.

### vsql\_fuzzystrmatch

**Repositório:** [villagesql/vsql-fuzzystrmatch](https://github.com/villagesql/vsql-fuzzystrmatch)

Funções de correspondência aproximada de strings. Port do `fuzzystrmatch` do PostgreSQL. Códigos fonéticos Soundex, distância de edição de Levenshtein (com custos configuráveis e limite de saída antecipada), Metaphone e Double Metaphone — para correspondência de nomes, correção ortográfica e deduplicação fonética. Requer o VillageSQL 0.0.4.

### vsql\_currency

**Repositório:** [villagesql/vsql-currency](https://github.com/villagesql/vsql-currency)

Tipo de código de moeda ISO 4217. Um tipo de coluna `currency` que armazena qualquer um dos 164 códigos de moeda em um único byte, com entrada sem distinção entre maiúsculas e minúsculas, saída canônica em maiúsculas, ordenação alfabética e suporte a índices. Port em Rust do `adjust/pg-currency`.

### vsql\_oauth2

**Repositório:** [villagesql/vsql-oauth2](https://github.com/villagesql/vsql-oauth2)

Autenticação JWT OAuth2/OIDC. Uma conta criada com `IDENTIFIED WITH vsql_oauth2` se autentica apresentando um JWT em vez de uma senha. A extensão verifica a assinatura com uma chave pública RS256/ES256 configurada, confere `exp` — e `iss`/`aud` quando configurados — e então mapeia uma claim para uma conta do VillageSQL. Recurso em versão prévia: requer um servidor iniciado com `--vsql_allow_preview_extensions=ON`.

### vsql\_stat\_ch

**Repositório:** [villagesql/vsql-stat-ch](https://github.com/villagesql/vsql-stat-ch)

Telemetria por instrução para o ClickHouse. Captura um evento por instrução concluída e envia lotes pelo protocolo nativo do ClickHouse (porta 9000) ou por HTTP (porta 8123), alternável com o servidor em execução. Recurso em versão prévia: requer um servidor iniciado com `--vsql_allow_preview_extensions=ON`.

### vsql\_mcp

**Repositório:** [villagesql/vsql-mcp](https://github.com/villagesql/vsql-mcp)

Servidor Model Context Protocol. Expõe o banco de dados como uma superfície de ferramentas para agentes de IA por MCP Streamable HTTP, servido por um listener dentro do processo do servidor. Um agente pode listar esquemas, descrever tabelas e executar consultas somente leitura; escritas permanecem desativadas até você habilitá-las. As consultas das ferramentas passam por uma conta de banco de dados dedicada, com lista de tabelas permitidas opcional, limites de linhas e tempos limite por chamada. Recurso em versão prévia: requer um servidor iniciado com `--vsql_allow_preview_extensions=ON`.

## Extensões da Comunidade

Extensões da comunidade são criadas por terceiros usando o VillageSQL Extension Framework (VEF). Elas não são mantidas pela equipe do VillageSQL.

### vsql\_statistics

**Repositório:** [ronaldbradford/vsql-statistics](https://github.com/ronaldbradford/vsql-statistics)
**Mantenedor:** [Ronald Bradford](https://github.com/ronaldbradford)

Funções de agregação estatística para análise de dados. IQR, quartis, mediana e detecção de outliers pelos limites de Tukey — `STATS_IQR`. Requer o VillageSQL 0.0.4.

### prometheus\_exporter

**Repositório:** [ProxySQL/vsql-prometheus-exporter](https://github.com/ProxySQL/vsql-prometheus-exporter)
**Mantenedor:** [ProxySQL](https://github.com/ProxySQL)

Exportador embutido de métricas do Prometheus. Expõe métricas do servidor MySQL em um endpoint HTTP `/metrics` no formato de exposição do Prometheus — status global, variáveis globais, métricas do InnoDB e status de replicação.

### vsql\_luhn

**Repositório:** [intojhanurag/vsql-luhn](https://github.com/intojhanurag/vsql-luhn)
**Mantenedor:** [intojhanurag](https://github.com/intojhanurag)

Validador do algoritmo de Luhn e gerador de dígito verificador. Valide números de cartão de crédito, códigos IMEI, SINs canadenses e outros identificadores do setor com `luhn_valid()`, e gere dígitos verificadores corretos com `luhn_checkdigit()`.

### vsql\_nanoid

**Repositório:** [intojhanurag/vsql-nanoid](https://github.com/intojhanurag/vsql-nanoid)
**Mantenedor:** [intojhanurag](https://github.com/intojhanurag)

Gerador de NanoID para identificadores únicos curtos e seguros para URL. `nanoid()` retorna um ID de 21 caracteres; `nanoid_with(size[, alphabet])` personaliza o comprimento e o conjunto de caracteres. Usa uma fonte aleatória criptograficamente segura.

### vsql\_slugify

**Repositório:** [intojhanurag/vsql-slugify](https://github.com/intojhanurag/vsql-slugify)
**Mantenedor:** [intojhanurag](https://github.com/intojhanurag)

Gera slugs seguros para URL a partir de texto arbitrário — removendo acentos, convertendo para minúsculas, reduzindo caracteres não alfanuméricos a um único separador e removendo separadores no início e no fim.

### vsql\_pgjwt

**Repositório:** [intojhanurag/vsql-pgjwt](https://github.com/intojhanurag/vsql-pgjwt)
**Mantenedor:** [intojhanurag](https://github.com/intojhanurag)

Assina, verifica e decodifica JSON Web Tokens diretamente no SQL. Suporta os algoritmos HMAC (HS256, HS384, HS512) e RSA (RS256).

### vsql\_address\_standardizer

**Repositório:** [jobala/vsql-address-standardizer](https://github.com/jobala/vsql-address-standardizer)
**Mantenedor:** [Japheth Obala](https://github.com/jobala)

Analisa endereços postais dos EUA em formato livre, dividindo-os em componentes — número, rua, sufixo, cidade, estado e código postal. Esta extensão foi inspirada no contrib [address\_standardizer](https://github.com/postgis/address_standardizer) do PostgreSQL.
