Skip to main content

Command Syntax

UNINSTALL EXTENSION extension_name;
You must remove all columns and variables that use types from the extension before uninstalling. The uninstall process will then remove all functions and types provided by the extension.

Prerequisites

  • Administrative access to VillageSQL
  • No tables using custom types from the extension
  • Backup of data if extension stores custom data

Uninstall Steps

1. Attempt Uninstall

Run the uninstall command. If the extension has no dependencies, it will succeed immediately. If columns depend on it, the error message identifies exactly which ones:
UNINSTALL EXTENSION vsql_complex;
If the extension has dependencies, you will see an error like:
ERROR HY000: Cannot drop extension `vsql_complex` as 1 column(s) depend on it,
e.g. mydb.signals.impedance has type COMPLEX
Drop or alter the identified column(s), then retry:
-- Option 1: Drop the table
DROP TABLE mydb.signals;

-- Option 2: Alter to remove only the custom type column
ALTER TABLE mydb.signals DROP COLUMN impedance;

2. Uninstall the Extension

UNINSTALL EXTENSION vsql_complex;
What this removes:
  • ✅ All VDFs (functions) provided by the extension
  • ✅ Custom type definitions registered by the extension
  • ✅ Extension registration record
  • ✅ Custom column metadata for the extension
What this does NOT remove:
  • ❌ The .veb file remains in veb_dir
  • ❌ Expanded directories in _expanded/ remain temporarily
  • ❌ Table data (you must drop tables with custom types first)
Expansion directories in _expanded/{extension}/{sha256}/ are cleaned up automatically on server restart.

3. Verify Uninstall

-- Check extension is gone
SELECT * FROM INFORMATION_SCHEMA.EXTENSIONS WHERE EXTENSION_NAME = 'vsql_complex';
-- Should return no rows

-- Verify functions removed
SELECT complex_abs('(1.0,2.0)');
-- Error: FUNCTION test_db.complex_abs does not exist

Common Errors

ErrorCauseSolution
Cannot drop extension \name` as N column(s) depend on it, e.g. db.table.col has type TYPE`Tables have columns using the extension’s custom typesDrop or alter the identified columns, then retry
Extension not foundExtension not installedVerify with SELECT * FROM INFORMATION_SCHEMA.EXTENSIONS

Optional: Remove .veb File

The .veb file remains after uninstall. To remove completely:
# Find veb_dir
mysql -u root -p -e "SHOW VARIABLES LIKE 'veb_dir';"

# Delete .veb file
sudo rm /path/to/veb_dir/vsql_complex.veb
The .veb file can be kept safely for future reinstallation. Deleting it does not affect server performance.

Reinstalling

To reinstall an extension, use INSTALL EXTENSION again (if .veb file still exists):
INSTALL EXTENSION vsql_complex;
See Installing Extensions for details.

Next Steps

Install Extensions

Add extensions back if needed

Managing Extensions

Monitor and troubleshoot extensions

System Reference

Query system tables