Viewing Installed Extensions
Query installed extensions using the INFORMATION_SCHEMA view:- Use in both interactive sessions and scripts
- Standard SQL interface compatible with MySQL tools
Checking Extension Functions
Verify extension functions work after installation:Extension Directory
Check where VillageSQL looks for.veb files:
Configuring veb_dir
To change the extension directory location, setveb_dir in your MySQL configuration file:
my.cnf / my.ini:
- Path must be absolute (not relative)
- Directory must exist before server start
- MySQL user must have read permissions on the directory
- Only one
veb_diris supported (cannot have multiple paths) - Changes require server restart to take effect
Troubleshooting
Quick Reference
Extension Not Found
Error:Extension 'my_extension' not found
Debug steps:
Function Not Available After Install
Error:FUNCTION my_func does not exist
Debug steps:
Cannot Uninstall Extension
Error:Cannot uninstall extension: types in use
Solution:
Library Loading Errors
Error:Cannot load library: undefined symbol
Causes:
- Missing library dependencies
- ABI compatibility mismatch
- Incorrect MySQL version
Extension Name Validation Errors
Error:Failed to load VEF extension 'extension_name' with log message Extension name mismatch
Cause: The extension name in manifest.json doesn’t match the VEB filename or the name registered in the extension code.
Debug steps:
-
Check VEB filename matches manifest:
-
Verify manifest.json name field:
-
Check extension registration in code:
- VEB filename:
my_extension.veb - manifest.json:
"name": "my_extension" - Extension code:
make_extension("my_extension", ...)
- Using hyphens in manifest:
"name": "my-extension"❌ - VEB filename doesn’t match:
my-extension.vebvs"name": "my_extension"❌ - Code registration differs:
make_extension("myextension", ...)❌
Monitoring Extension Usage
Query Performance
Track UDF execution times using performance_schema:Custom Type Usage
Track which tables use custom types:Updating Extensions
To update an extension to a newer version, use the manual update process:ALTER EXTENSION UPDATE is not supported in v0.0.2 and is planned for a future release.
Manual Update Process
-
Uninstall the current version:
-
Replace the .veb file:
-
Install the new version:
-
Verify the update:
Cleaning Up
Remove Orphaned Expansion Directories
VillageSQL expands.veb files to _expanded/{name}/{sha256}/. Old versions accumulate over time.
Server restart automatically cleans up orphaned expansion directories.
Getting Help
If you encounter issues not covered here:- Check Error Log: Most extension errors are logged with details
- Review Extension Docs: Extension-specific troubleshooting may exist
- Ask on Discord: Join the VillageSQL Discord
- File an Issue: Report bugs on GitHub Issues
Next Steps
System Reference
Query system tables and views
Uninstall Extensions
Remove extensions safely
Extension Architecture
Understand the internals

