VillageSQL 带有内置扩展,并支持由 VillageSQL 团队构建和维护的官方扩展。使用 INSTALL EXTENSION 安装其中任何一个。
内置扩展
从源代码构建时,仅包含 vsql_complex 和 vsql_simple。以下官方扩展在单独的存储库中维护。
vsql_complex
状态: VillageSQL 内置
存储库: villagesql-server/villagesql/examples/vsql-complex
用于电气工程、信号处理和科学计算的具有完整算术支持的复数数据类型。
特性:
COMPLEX 列类型,用于存储复数(a + bi)
- 字符串字面量格式:
'(real,imaginary)'(例如,'(3.0,4.0)')
- 算术运算:加、减、乘、除
- 实用程序:
complex_real()、complex_imag()、complex_abs()、complex_conjugate()
- 二进制存储:16 字节(2 个双精度浮点数)
安装:
示例:
核心扩展
以下扩展在单独的存储库中维护,必须单独构建和安装。每个扩展都提供自己的安装说明和文档。
vsql_ai
存储库: villagesql/vsql-ai
基于 AI 的 SQL 函数。用于 SQL 查询的 AI 提示和嵌入函数。支持 Anthropic Claude、Google Gemini、OpenAI 和本地 Ollama。
vsql_crypto
存储库: villagesql/vsql-crypto
密码学函数。使用 OpenSSL 进行哈希(MD5、SHA-1、SHA-256、SHA-512 等)、HMAC、AES 加密、密码哈希和安全随机数据生成。
vsql_cube
存储库: villagesql/vsql-cube
N 维盒子和点类型。存储和查询最多 100 维的几何盒子和点,具有构造函数、访问器、谓词、距离和几何函数。需要 VillageSQL 0.0.4。
vsql_http
存储库: villagesql/vsql-http
HTTP 客户端函数。从 SQL 查询中发出 HTTP 请求——GET、POST、PUT、DELETE、PATCH——具有 JSON 响应,以及 URL 编码和解码。
vsql_network_address
存储库: villagesql/vsql-network-address
网络地址类型。IPv4、IPv6 和 MAC 地址数据类型,具有验证、比较和网络操作。
vsql_uuid
存储库: villagesql/vsql-uuid
UUID 数据类型和函数。在 SQL 中本地生成和使用 UUID——v1、v3、v4、v5、v6 和 v7——具有本地 16 字节 UUID 类型、时间戳提取和比较。
社区扩展
社区扩展由第三方使用 VillageSQL 扩展框架 (VEF) 构建。它们不由 VillageSQL 团队维护。
vsql_statistics
存储库: ronaldbradford/vsql-statistics
维护者: Ronald Bradford
用于数据分析的统计聚合函数。IQR、四分位数、中位数和 Tukey 栅栏异常值检测——STATS_IQR、STATS_Q1、STATS_Q3、STATS_MEDIAN、STATS_IQR_LOWER_FENCE、STATS_IQR_UPPER_FENCE。需要 VillageSQL 0.0.4。
prometheus_exporter
存储库: ProxySQL/vsql-prometheus-exporter
维护者: ProxySQL
嵌入式 Prometheus 指标导出器。在 Prometheus 暴露格式的 HTTP /metrics 端点处公开 MySQL 服务器指标——全局状态、全局变量、InnoDB 指标和复制状态。
vsql_luhn
存储库: intojhanurag/vsql-luhn
维护者: intojhanurag
Luhn 算法验证器和校验位生成器。使用 luhn_valid() 验证信用卡号、IMEI 码、加拿大 SIN 及其他行业标识符,并使用 luhn_checkdigit() 生成正确的校验位。
vsql_nanoid
存储库: intojhanurag/vsql-nanoid
维护者: intojhanurag
用于生成简短、URL 安全的唯一标识符的 NanoID 生成器。nanoid() 返回 21 个字符的 ID;nanoid_with(size[, alphabet]) 可自定义长度和字符集。使用密码学安全的随机源。
vsql_slugify
存储库: intojhanurag/vsql-slugify
维护者: intojhanurag
从任意文本生成 URL 安全的 slug——折叠重音、转换为小写、将非字母数字字符合并为单个分隔符,并去除首尾分隔符。