使用 VS Code for PostgreSQL 转换 Oracle 数据架构

John Doe 六月 30, 2026

从 Oracle 迁移到 PostgreSQL,架构转换是最先落地的核心环节 —— 表结构、数据类型、存储过程、索引约束…… 纯手动改写不仅耗时费力,还极易埋下兼容性隐患。

目录

下面我们基于 Azure 官方的架构转换能力,整理出了一份可落地的实操指南,借助 VS Code + AI 能力自动化完成大部分架构转换工作,同时内置暂存环境验证,提前规避语法与依赖错误。

核心工具:AI 驱动的架构转换能力

Oracle 到 PostgreSQL 架构转换是 VS Code 官方 PostgreSQL 扩展的内置功能,依托 Microsoft Foundry 的大模型能力,自动将 Oracle 数据库架构对象转换为 PostgreSQL 兼容格式。

image

它的核心价值在于「转换 + 验证」一体化:

  • 自动化覆盖广:支持表、约束、索引、视图、存储过程等绝大多数主流架构对象
  • 暂存库实时校验:在目标 PostgreSQL 实例的临时 schema 中实测语法与依赖,避免输出不可执行的 SQL
  • 智能标记风险点:无法自动转换的复杂对象会生成「审阅任务」,标注人工介入点
  • 全链路上下文复用:转换过程生成标准化编码说明元数据,可复用于后续应用代码转换,保障数据类型、对象映射的一致性
  • 输出即部署:最终生成可直接执行的 PostgreSQL DDL 脚本

迁移前必备准备

基础环境

  • VS Code 版本 ≥ 1.95.2,安装微软官方 PostgreSQL 扩展
  • GitHub Copilot 订阅(Pro+ / Business / Enterprise)
  • Microsoft Foundry 部署 gpt-5.2 模型,建议配额 ≥ 50 万令牌 / 分钟,保障大架构转换不被限流
  • 目标数据库:Azure Database for PostgreSQL 灵活服务器 v15 及以上版本

数据库权限

  • 源 Oracle 端:仅需元数据读取权限(CONNECTSELECT_CATALOG_ROLE 等),无需访问业务表数据
  • 目标 PostgreSQL 端:具备创建 schema、数据库对象的权限,建议分配 azure_pg_admin 角色用于安装扩展

特殊环境适配

如果源 Oracle 开启了网络加密(sqlnet.ora 中配置了加密校验参数),需要提前在本地安装 Oracle 即时客户端,工具会自动检测并切换为厚连接模式。

七步完成架构转换

image

  1. 配置数据库连接

    在 PostgreSQL 扩展面板中,分别创建源 Oracle 与目标 PostgreSQL 的连接,测试连通性后保存。

  2. 新建迁移工作区

    在本地创建专属项目文件夹,在 VS Code 中以工作区形式打开,所有转换产物都会保存在该目录下。

  3. 创建迁移项目

    进入扩展的「迁移」面板,选择创建迁移项目,填写项目名称,进入配置向导。

  4. 配置源端 Oracle

    填写 Oracle 连接信息,加载可用的业务 schema,勾选需要迁移的对象范围(工具会自动排除系统 schema)。

  5. 配置目标暂存库

    选择已保存的 PostgreSQL 连接,指定用于验证的暂存数据库,转换过程会自动创建临时 schema 做校验。

  6. 配置 AI 模型

    填写 Microsoft Foundry 终结点与部署名称,选择 API 密钥或 Microsoft Entra ID 认证方式,测试连接成功后完成项目创建。

  7. 启动转换并查看结果

    点击「迁移」启动自动转换,完成后查看转换报告,处理标记的审阅任务,最终导出 PostgreSQL DDL 脚本。

转换边界:哪些自动做,哪些手动补

image

自动覆盖的常规对象

  • 表定义、主键 / 外键 / 唯一 / 检查约束、B 树索引、序列
  • 普通视图、物化视图、同义词
  • 基础触发器、存储过程、函数、程序包规范与包体
  • 常规数据类型映射、基础 PL/SQL 逻辑

需人工审阅的场景

  • 嵌套层级深、逻辑复杂的 PL/SQL 代码
  • Oracle 自定义对象类型、集合类型、VARRAY
  • 高级参数处理、REF CURSOR、自治事务等特性
  • Oracle 特有 SQL 语法(CONNECT BY、MODEL 子句等)

需手动改造的专属特性

  • Oracle 高级队列、空间 / GIS、全文检索等独立组件
  • DBMS_UTL_ 系统包的深度定制调用
  • 透明应用故障转移(TAF)、虚拟专用数据库(VPD)等企业级安全特性

提升转换质量的最佳实践

image

  1. 版本对齐先行

    暂存数据库与生产目标库使用相同的 PostgreSQL 大版本,避免因版本差异导致语法或功能不兼容。

  2. 预安装兼容扩展

    提前在 PostgreSQL 库中安装 orafce(Oracle 兼容函数包)、uuid-ossppostgis 等常用扩展,并配置好 search_path,可大幅提升转换成功率,减少手动适配。

  3. 分批转换降风险

    大型系统按业务模块拆分 schema 分批转换,便于定位问题、控制进度,避免单次转换量过大引发限流或中断。

  4. 重视暂存验证环节

    工具的临时 schema 验证是质量兜底的关键步骤,不要跳过;验证不通过的对象,优先排查扩展缺失、权限不足等环境问题。

  5. 审阅任务优先处理

    优先处理复杂存储过程、核心业务表相关的审阅任务,可借助 GitHub Copilot 代理模式辅助修改,调整后可重跑转换验证结果。

  6. 留存迭代归档

    每次调整配置后重跑转换,对比前后报告差异,留存 DDL 脚本与转换报告,作为迁移审计与后续排错的依据。

  7. 安全合规不松懈

    优先使用 Microsoft Entra ID 身份认证,数据库凭据存入密钥管理工具,避免明文写入配置文件或提交至代码库。


架构转换是 Oracle 迁 PostgreSQL 的基石,自动化工具可以覆盖 80% 以上的常规对象转换,大幅降低基础工作的人力成本。但复杂业务逻辑与 Oracle 专属特性,仍需要结合业务场景做适配与验证。

完成高质量的架构转换后,后续的应用代码改造与数据迁移也会更顺畅,整套迁移的效率与质量都能得到有效保障。

参考

Oracle 到 Azure 数据库 PostgreSQL 数据架构转换