Skip to main content

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.

VillageSQL ships with built-in extensions and supports official extensions built and maintained by the VillageSQL team. Install any of them with INSTALL EXTENSION.

Built-in Extensions

When building from source, only vsql_complex and vsql_simple are included. The official extensions below are maintained in separate repositories.

vsql_complex

Status: Built-in with VillageSQL Repository: villagesql-server/villagesql/examples/vsql-complex Complex number data type with full arithmetic support for electrical engineering, signal processing, and scientific computing. Features:
  • COMPLEX column type for storing complex numbers (a + bi)
  • String literal format: '(real,imaginary)' (e.g., '(3.0,4.0)')
  • Arithmetic: add, subtract, multiply, divide
  • Utilities: complex_real(), complex_imag(), complex_abs(), complex_conjugate()
  • Binary storage: 16 bytes (2 doubles)
Installation:
INSTALL EXTENSION vsql_complex;
Example:
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;

Core Extensions

The following extensions are maintained in separate repositories and must be built and installed separately. Each provides its own installation instructions and documentation.

vsql_ai

Repository: villagesql/vsql-ai AI-powered SQL functions. AI prompting and embedding functions for SQL queries. Supports Anthropic Claude, Google Gemini, OpenAI, and local Ollama.

vsql_crypto

Repository: villagesql/vsql-crypto Cryptographic functions. Hashing (MD5, SHA-1, SHA-256, SHA-512, and more), HMAC, AES encryption, password hashing, and secure random data generation using OpenSSL.

vsql_cube

Repository: villagesql/vsql-cube N-dimensional box and point type. Store and query geometric boxes and points across up to 100 dimensions, with constructor, accessor, predicate, distance, and geometry functions. Requires VillageSQL 0.0.4.

vsql_http

Repository: villagesql/vsql-http HTTP client functions. Make HTTP requests from SQL queries — GET, POST, PUT, DELETE, PATCH — with JSON responses, plus URL encoding and decoding.

vsql_network_address

Repository: villagesql/vsql-network-address Network address types. IPv4, IPv6, and MAC address data types with validation, comparison, and network operations.

vsql_uuid

Repository: villagesql/vsql-uuid UUID data type and functions. Generate and work with UUIDs natively in SQL — v1, v3, v4, v5, v6, and v7 — with a native 16-byte UUID type, timestamp extraction, and comparison.