Query extension metadata and server state using the standard SQL interfaces below.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.
System Views
INFORMATION_SCHEMA.EXTENSIONS
Lists all currently installed VillageSQL extensions.INSTALL EXTENSION and UNINSTALL EXTENSION are VillageSQL SQL extensions.
They are not part of standard MySQL 8.4 syntax.| Column | Type | Description |
|---|---|---|
EXTENSION_NAME | varchar | Name of the installed extension |
EXTENSION_VERSION | varchar | Version string reported by the extension |
EXTENSION_NAME values are lowercase, matching the name passed to make_extension().
The view reflects the current installed state.
INFORMATION_SCHEMA.COLUMNS (Custom Types)
Columns using custom extension types are visible through the standardINFORMATION_SCHEMA.COLUMNS view. Custom types appear as
extension_name.type_name in the DATA_TYPE and COLUMN_TYPE columns
(e.g., vsql_complex.COMPLEX).
Example:
INFORMATION_SCHEMA.EXTENSION_REGISTRATION
Exposes the in-memory VEF registration struct for each loaded extension as a JSON document. Use it to verify that the server parsed your extension’s functions, types, and system variables correctly afterINSTALL EXTENSION.
| Column | Type | Description |
|---|---|---|
EXTENSION_NAME | VARCHAR(64) | Name of the installed extension. |
NEGOTIATED_PROTOCOL | BIGINT UNSIGNED | VEF protocol version negotiated between the extension and the server. |
REGISTRATION_JSON | TEXT | JSON serialization of the vef_registration_t struct, including funcs, types, and sys_vars arrays. |
Common Queries
Find Extension Dependencies
Find which columns use a specific extension’s types before uninstalling:List All Extensions and Their Custom Type Columns
Find Tables Using Extension Types
System Variables
veb_dir
Read-only at runtime. Path to the directory where the server looks for.veb extension bundle files. Set in my.cnf under [mysqld]; cannot be changed without a server restart.
my.cnf:
villagesql_server_version
Read-only global variable. Returns the VillageSQL version string compiled into the server binary. This is distinct fromvillagesql_schema_version,
which tracks the internal metadata catalog version.
villagesql_vef_server_protocol
Read-only global variable. Returns the highest VEF protocol version supported by this server build. Extension authors can compare this value against the protocol constants intypes.h to determine which ABI features are available
during registration.
| Property | Value |
|---|---|
| Scope | Global |
| Access | Read-only |
| Type | Unsigned integer (0–255) |
| Current value | 2 (VEF_PROTOCOL_2) |
vef_server_protocol_version
and cannot be changed at runtime.
Next Steps
Managing Extensions
Monitor and troubleshoot extensions
Install Extensions
Add new extensions
Extension Architecture
Understand the internals
Available Extensions
Browse extension catalog

