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

# Available Extensions

> VillageSQL extensions you can use

## Built-in Extensions

> [!WARNING]
>
> When building from source, only `vsql_complex` and `vsql_simple` are included. Other extensions are maintained in separate repositories (linked below).

### vsql\_complex

**Status:** Built-in with VillageSQL
**Repository:** [villagesql-server/villagesql/examples/vsql-complex](https://github.com/villagesql/villagesql-server/tree/main/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)
* Constructor: `COMPLEX(real, imaginary)`
* Arithmetic: add, subtract, multiply, divide
* Utilities: `complex_real()`, `complex_imag()`, `complex_abs()`, `complex_conjugate()`
* Binary storage: 16 bytes (2 doubles)

**Installation:**

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

**Example Usage:**

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

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

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

**Learn More:** [vsql\_complex Deep Dive](https://villagesql.com/docs/en/8.4/0.0.1/examples.md)

***

## External Extensions

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

> [card] [vsql\_uuid](https://github.com/villagesql/vsql-uuid)
>
> **UUID data type and functions**
>
> Generate and work with UUIDs natively in SQL. Supports v1, v3, v4, v5, v6, and v7 with a native 16-byte UUID type, timestamp extraction, and comparison.

> [card] [vsql\_crypto](https://github.com/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.

> [card] [vsql\_network\_address](https://github.com/villagesql/vsql-network-address)
>
> **Network address types**
>
> IPv4, IPv6, and MAC address data types with validation, comparison, and network operations.

> [card] [vsql\_ai](https://github.com/villagesql/vsql-ai)
>
> **AI-powered SQL functions**
>
> Send prompts and generate text embeddings directly from SQL using `ai_prompt()` and `create_embed()`. Supports Anthropic Claude, Google Gemini, and OpenAI.

***

## Installing Built-in Extensions

Built-in extensions are ready to install:

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

**For source builds:** Only `vsql_complex` and `vsql_simple` are included by default. To use external extensions, build them from their GitHub repositories (links above) and copy the `.veb` files to your VEF directory (see [Installing External Extensions](https://villagesql.com/docs/en/8.4/0.0.1/install.md#installing-external-extensions)).

See [Installing Extensions](https://villagesql.com/docs/en/8.4/0.0.1/install.md) for detailed instructions.

***

## Creating Your Own Extension

Build custom extensions using the VillageSQL extension template:

> [card] [vsql\_extension\_template](https://github.com/villagesql/vsql-extension-template)
>
> Fork this template to start building your own VillageSQL extension

**Get started:** [Creating Extensions Guide](https://villagesql.com/docs/en/8.4/0.0.1/create.md)

***

## Next Steps

> [card] [Install Extensions](https://villagesql.com/docs/en/8.4/0.0.1/install.md)
>
> Add extensions to your database

> [card] [Create Extension](https://villagesql.com/docs/en/8.4/0.0.1/create.md)
>
> Build your own extension

> [card] [Managing Extensions](https://villagesql.com/docs/en/8.4/0.0.1/managing.md)
>
> Monitor and troubleshoot

> [card] [System Reference](https://villagesql.com/docs/en/8.4/0.0.1/reference.md)
>
> Query extension metadata


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.