Skip to main content
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

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.

vsql_complex

Status: Integrada ao VillageSQL Repositório: villagesql-server/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:
Exemplo:

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 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 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 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 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 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 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 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 NULLs; boolean_avg() retorna NULL para um grupo vazio.

vsql_rest

Repositório: 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 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 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 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 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 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 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 Mantenedor: Ronald Bradford 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 Mantenedor: 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 Mantenedor: 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 Mantenedor: 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 Mantenedor: 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 Mantenedor: 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 Mantenedor: Japheth Obala 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 do PostgreSQL.