数据库图数据库关系型数据库【免费下载链接】edgedbGel supercharges Postgres with a modern data model, graph queries, Auth AI solutions, and much more.项目地址https://gitcode.com/gh_mirrors/ed/edgedb点击查看免费下载gel extension uninstall是 Gel前 EdgeDBCLI 提供的用于卸载独立扩展包standalone extension package的命令。在 Gel 的扩展体系中内置扩展如auth、ai、graphql通过 schema 中的using extension声明启用而像postgis这类独立扩展则先由 CLI 安装到本地项目管理的实例上再进入 schema。本文以 uninstall.rst 为骨架结合扩展命令组与 edb/schema/extensions.py 的源码实现完整讲解gel extension uninstall的语法、参数、实战示例与底层卸载机制帮助你安全地移除不再需要的扩展。命令概述gel extension命令组中的卸载入口gel extension是 Gel CLI 中专门管理独立扩展包的子命令组共包含四个子命令定义见 gel_extension/index.rst子命令用途gel extension list列出当前实例已安装的扩展gel extension list-available列出可安装的扩展及版本gel extension install extension安装指定扩展gel extension uninstall extension卸载指定扩展gel extension uninstall与install构成扩展生命周期管理的完整闭环先用install把扩展包装进实例用list确认安装结果不再需要时用uninstall卸载可参考 install.rst 中的安装输出示例理解对应关系。值得注意的是Gel 的 CLI 主体实际由 Rust 实现仓库中的 edb/cli/init.py 只是通过os.execvpe(gel, ...)将进程委派给gel可执行文件的薄封装层因此在终端中调用gel命令时真正执行扩展管理逻辑的是 Rust CLI 二进制。语法与参数根据 uninstall.rst 中的 synopsis命令语法为gel extension uninstall extension [options]Arguments参数说明extension要卸载的扩展名称。该名称应与安装时一致即gel extension install与gel extension list输出中的扩展名例如postgisOptionsgel extension uninstall本身不定义额外选项全局连接选项Connection options对所有子命令通用包括指定实例、数据库、用户、凭据、TLS 模式等完整清单见 gel_connopts.rst。操作示例卸载 postgis 扩展官方文档给出的完整卸载示例针对本地项目管理的实例$ gel extension uninstall postgis Extension postgis uninstalled successfully.命令执行成功后CLI 会输出Extension postgis uninstalled successfully.确认信息。你可以通过gel extension list验证卸载结果——扩展应从已安装列表中消失$ gel extension list ┌─────────┬─────────┐ │ Name │ Version │ └─────────┴─────────┘空表即表示实例中已无任何已安装的独立扩展包。卸载的完整生命周期示例结合 datamodel/extensions.rst 中的安装流程一次完整的安装—使用—卸载生命周期如下# 1. 查看可安装的扩展 $ gel extension list-available ┌─────────┬───────────────┐ │ Name │ Version │ │ postgis │ 3.4.36b82d77 │ └─────────┴───────────────┘ # 2. 安装扩展 $ gel extension install postgis Found extension package: postgis version 3.4.36b82d77 00:00:03 [] 22.49 MiB/22.49 MiB Extension postgis installed successfully. # 3. 重启实例使扩展生效 $ gel instance restart # 4. 在 schema 中声明使用扩展 # module 顶层using extension postgis; # 5. 不再需要时卸载扩展 $ gel extension uninstall postgis Extension postgis uninstalled successfully. # 6. 确认卸载结果 $ gel extension list ┌─────────┬─────────┐ │ Name │ Version │ └─────────┴─────────┘卸载前的检查清单为了让gel extension uninstall顺利执行并避免数据残留或后续迁移报错建议按以下顺序检查schema 中移除using extension声明卸载扩展前应先从 schema 顶层删除对应的using extension postgis;声明。独立扩展与内置扩展一样声明必须位于任何 module 块之外因为扩展影响的是整个数据库而非某个模块见 datamodel/extensions.rst。若 schema 仍引用扩展提供的类型或函数后续迁移会因找不到对应对象而失败。确认实例是本地项目管理类型根据文档说明独立扩展包只能通过 CLI 安装到本地项目管理的实例local project-managed instances上uninstall命令同理面向这类实例。检查是否有依赖该扩展的 dump 需要恢复文档特别提醒——要恢复一个使用了独立扩展的 dump必须在该 dump 恢复之前先安装该扩展见 datamodel/extensions.rst。同理卸载前请确认近期没有需要依赖该扩展的备份恢复计划。按需重启实例安装扩展后文档建议执行gel instance restart使扩展生效卸载后如需彻底回收相关进程资源也可参照同一流程处理。卸载的底层机制从 CLI 到 DDL 与扩展包模型从源码层面看Gel 在 schema 层将扩展包建模为全局对象GlobalObject。edb/schema/extensions.py 中定义的ExtensionPackage类携带以下关键字段version扩展包版本号verutils.Versionscript扩展包对应的脚本内容sql_extensions扩展包包含的 SQL 扩展集合sql_setup_script/sql_teardown_script安装与卸载时分别执行的 SQL 脚本uninstall过程正是围绕sql_teardown_script展开的清理逻辑ext_module扩展暴露的模块名dependencies扩展包的依赖列表。类注释还指出ExtensionPackage这类全局对象的数据以全局 JSON 形式存储而非走反射 schema新增字段时需要同步更新 edb/pgsql/delta.py 中CreateExtensionPackage与 metaschema 的扩展视图这解释了为什么扩展包的元数据与普通 schema 对象在存储路径上有所不同。在数据库层面扩展的启用与停用还对应一组低层 DDL 命令create extension ExtensionName;用于为当前数据库启用扩展drop extension ExtensionName;用于停用扩展见 datamodel/extensions.rst。文档明确指出日常使用中通常不需要直接执行这些 DDL——gel extension install/gel extension uninstall已经封装了完整流程——但了解它们有助于在审查迁移migration内容时理解扩展启停的实际语义CLI 的安装/卸载管理扩展包的物理存在而 DDL 决定扩展在当前数据库 schema 中的启用状态二者共同构成扩展的完整生命周期。常见问题与排查思路提示扩展未安装确认扩展名拼写与gel extension list输出完全一致若扩展确实不在列表中说明此前未在该实例上安装无需执行 uninstall。schema 仍引用扩展对象先移除using extension声明及依赖扩展类型的 schema 定义再执行卸载避免留下悬空引用。卸载后实例行为异常参照安装流程必要时执行gel instance restart完成资源回收。需要重新启用重新执行gel extension install extension并在 schema 中补回using extension声明即可安装与卸载互为逆操作。小结gel extension uninstall extension是 Gel 扩展管理中卸载环节的标准入口语法简单一个位置参数 通用连接选项输出清晰Extension postgis uninstalled successfully.。它的背后是完整的扩展包全局对象模型ExtensionPackage含sql_teardown_script等清理脚本字段与drop extensionDDL 语义的协同。实际使用中请务必配合using extension声明的移除、gel extension list的验证以及 dump 恢复前置条件先安装再恢复来保证数据库状态的一致性与可迁移性。赞分享数据库图数据库关系型数据库【免费下载链接】edgedbGel supercharges Postgres with a modern data model, graph queries, Auth AI solutions, and much more.项目地址https://gitcode.com/gh_mirrors/ed/edgedb点击查看免费下载相关推荐如何把摄像头画面低延迟送进浏览器go2rtc 视频流转发上手指南如何把摄像头画面低延迟送进浏览器go2rtc 视频流转发上手指南 家里有几十台摄像头的协议五花八门RTSP、私有 P2P、HomeKit、RTMP……而浏览数据库图数据库关系型数据库Gel CLI gel database 命令组详解兼容旧版数据库管理命令的完整使用指南Gel CLI gel database 命令组详解兼容旧版数据库管理命令的完整使用指南 导读 gel database 是 Gel前身 EdgeDB命令数据库图数据库关系型数据库Gel 实例重启命令完全指南掌握 gel instance restart 的用法、适用场景与实例生命周期管理Gel 实例重启命令完全指南掌握 gel instance restart 的用法、适用场景与实例生命周期管理 gel instance restart 是数据库图数据库关系型数据库创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
