Skip to main content
安装 VillageSQL 扩展,以向数据库添加自定义类型、函数和功能。

命令语法

提供 VERSION 时,服务器会打开 {name}-{version}.veb, 将该版本与清单进行比较,如果两者不一致则中止安装。 省略该子句则安装 {name}.veb;或者,如果只存在带版本号的 VEB, 则安装唯一的 {name}-{version}.veb。请参阅 选择版本
扩展以 .veb(VillageSQL 扩展包)文件的形式分发,其中包含编译后的库和元数据。

选择版本

veb_dir 中的 VEB 文件可以命名为 {name}.veb(不带版本号)或 {name}-{version}.veb(带版本号)。要安装特定的带版本号 VEB,请添加 VERSION 子句:
使用 VERSION 时,服务器会打开 vsql_uuid-0.2.0.veb,并验证其 manifest.json 中的版本是否与 0.2.0 匹配。 不使用 VERSION 时,服务器按如下方式解析文件:
  • 如果 {name}.veb 存在,则安装它;版本从其 manifest.json 中读取。
  • 否则,如果恰好存在一个 {name}-{version}.veb,则安装它;文件名中的版本会与其 manifest.json 中的版本进行核对。
  • 否则,安装失败,您必须指定一个版本。
如果存在多个带版本号的 VEB 且不存在不带版本号的 VEB,则 INSTALL EXTENSION 会失败并报错 Multiple versions of extension '<name>' found in '<dir>'; specify a version with INSTALL EXTENSION <name> VERSION 'x.y.z'。请使用显式的 VERSION 子句重新运行。

扩展命名约定

VillageSQL 在不同的上下文中采用不同的命名约定:
  • SQL 命令: 使用下划线:INSTALL EXTENSION vsql_uuid
  • 仓库名称: 使用连字符:github.com/villagesql/vsql-uuid
  • 文件名: 使用下划线:vsql_uuid.veb
  • manifest.json: 使用下划线以匹配 SQL:"name": "vsql_uuid"
示例:

先决条件

  • 正在运行的 VillageSQL Server 实例
  • 管理员权限(root 或同等权限)

安装内置扩展

与 VillageSQL 一起提供的内置扩展已位于 veb_dir 中。只需启用它们:

验证安装

输出:

测试功能

安装外部扩展

对于单独下载或构建的扩展:
在安装外部扩展之前,您的服务器必须配置 veb_dir。请参阅 配置 veb_dir

1. 复制 .veb 文件

找到服务器的扩展目录,然后将 .veb 文件复制到其中:

2. 安装扩展

要固定预期的版本(在 CI 或脚本化的部署中很有用),请包含 VERSION 子句:
如果清单报告的版本不同,则安装失败,并且不会注册任何内容:

3. 验证安装

故障排除

有关更多故障排除信息,请参阅 管理扩展

后续步骤

管理扩展

监控和排除已安装扩展的故障

可用扩展

浏览您可以安装的扩展

创建扩展

构建您自己的扩展