Skip to main content

What is VillageSQL Server?

VillageSQL is the innovation platform for MySQL and a new path for MySQL in the agentic AI era. VillageSQL Server for MySQL is an open-source, drop-in replacement, and extensible tracking fork of MySQL. It introduces a robust extension framework that supports custom data types and custom functions (with custom indexes coming soon). VillageSQL’s mission is to empower the MySQL community by enabling permissionless innovation.

Getting Started

Extensions for MySQL

VillageSQL is a drop-in replacement for MySQL but adds on the ability to load extensions that modify the server’s behavior. Extensions support:
  • Custom Data Types: Extensions can define new types (e.g., UUID, COMPLEX, INET6) that behave like native types.
  • Custom Functions: Add high-performance C++ functions callable from SQL.
  • Seamless Integration: Extensions are managed via simple SQL commands (INSTALL EXTENSION, SHOW EXTENSIONS).

Built-in Extensions

VillageSQL Server 0.0.1 ships with five built-in extensions:
  • vsql_complex: adds support for complex number data type
  • vsql_uuid: adds UUID generation, validation, conversion, and comparison capabilities
  • vsql_ai: adds AI prompting via SQL functions
  • vsql_crypto: provides cryptographic functions for hashing, encryption, and random data generation using OpenSSL
  • vsql_network_address: adds complete support for IPv4, IPv6, and MAC addresses

Build an Extension

You can build your own extension using this template.

Why VillageSQL?

Drop-in Compatibility

Fully compatible with the MySQL protocol, clients, and drivers. If it works with MySQL, it works with VillageSQL.

Extensible Core

Dynamically load new features via extensions using INSTALL EXTENSION.

Open Ecosystem

Community-driven development with a focus on enabling innovation through extensions.

Familiar Tooling

Use standard MySQL tools (mysqld, mysql client) and configurations.

Community

It takes a village. Build an extension.