由 John Doe 六月 30, 2026
从 Oracle 迁移到 PostgreSQL,架构转换是最先落地的核心环节 —— 表结构、数据类型、存储过程、索引约束…… 纯手动改写不仅耗时费力,还极易埋下兼容性隐患。
目录
下面我们基于 Azure 官方的架构转换能力,整理出了一份可落地的实操指南,借助 VS Code + AI 能力自动化完成大部分架构转换工作,同时内置暂存环境验证,提前规避语法与依赖错误。
核心工具:AI 驱动的架构转换能力
Oracle 到 PostgreSQL 架构转换是 VS Code 官方 PostgreSQL 扩展的内置功能,依托 Microsoft Foundry 的大模型能力,自动将 Oracle 数据库架构对象转换为 PostgreSQL 兼容格式。

它的核心价值在于「转换 + 验证」一体化:
- 自动化覆盖广:支持表、约束、索引、视图、存储过程等绝大多数主流架构对象
- 暂存库实时校验:在目标 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 端:仅需元数据读取权限(
CONNECT、SELECT_CATALOG_ROLE等),无需访问业务表数据 - 目标 PostgreSQL 端:具备创建 schema、数据库对象的权限,建议分配
azure_pg_admin角色用于安装扩展
特殊环境适配
如果源 Oracle 开启了网络加密(sqlnet.ora 中配置了加密校验参数),需要提前在本地安装 Oracle 即时客户端,工具会自动检测并切换为厚连接模式。
七步完成架构转换

-
配置数据库连接
在 PostgreSQL 扩展面板中,分别创建源 Oracle 与目标 PostgreSQL 的连接,测试连通性后保存。
-
新建迁移工作区
在本地创建专属项目文件夹,在 VS Code 中以工作区形式打开,所有转换产物都会保存在该目录下。
-
创建迁移项目
进入扩展的「迁移」面板,选择创建迁移项目,填写项目名称,进入配置向导。
-
配置源端 Oracle
填写 Oracle 连接信息,加载可用的业务 schema,勾选需要迁移的对象范围(工具会自动排除系统 schema)。
-
配置目标暂存库
选择已保存的 PostgreSQL 连接,指定用于验证的暂存数据库,转换过程会自动创建临时 schema 做校验。
-
配置 AI 模型
填写 Microsoft Foundry 终结点与部署名称,选择 API 密钥或 Microsoft Entra ID 认证方式,测试连接成功后完成项目创建。
-
启动转换并查看结果
点击「迁移」启动自动转换,完成后查看转换报告,处理标记的审阅任务,最终导出 PostgreSQL DDL 脚本。
转换边界:哪些自动做,哪些手动补

自动覆盖的常规对象
- 表定义、主键 / 外键 / 唯一 / 检查约束、B 树索引、序列
- 普通视图、物化视图、同义词
- 基础触发器、存储过程、函数、程序包规范与包体
- 常规数据类型映射、基础 PL/SQL 逻辑
需人工审阅的场景
- 嵌套层级深、逻辑复杂的 PL/SQL 代码
- Oracle 自定义对象类型、集合类型、VARRAY
- 高级参数处理、REF CURSOR、自治事务等特性
- Oracle 特有 SQL 语法(CONNECT BY、MODEL 子句等)
需手动改造的专属特性
- Oracle 高级队列、空间 / GIS、全文检索等独立组件
DBMS_、UTL_系统包的深度定制调用- 透明应用故障转移(TAF)、虚拟专用数据库(VPD)等企业级安全特性
提升转换质量的最佳实践

-
版本对齐先行
暂存数据库与生产目标库使用相同的 PostgreSQL 大版本,避免因版本差异导致语法或功能不兼容。
-
预安装兼容扩展
提前在 PostgreSQL 库中安装
orafce(Oracle 兼容函数包)、uuid-ossp、postgis等常用扩展,并配置好search_path,可大幅提升转换成功率,减少手动适配。 -
分批转换降风险
大型系统按业务模块拆分 schema 分批转换,便于定位问题、控制进度,避免单次转换量过大引发限流或中断。
-
重视暂存验证环节
工具的临时 schema 验证是质量兜底的关键步骤,不要跳过;验证不通过的对象,优先排查扩展缺失、权限不足等环境问题。
-
审阅任务优先处理
优先处理复杂存储过程、核心业务表相关的审阅任务,可借助 GitHub Copilot 代理模式辅助修改,调整后可重跑转换验证结果。
-
留存迭代归档
每次调整配置后重跑转换,对比前后报告差异,留存 DDL 脚本与转换报告,作为迁移审计与后续排错的依据。
-
安全合规不松懈
优先使用 Microsoft Entra ID 身份认证,数据库凭据存入密钥管理工具,避免明文写入配置文件或提交至代码库。
架构转换是 Oracle 迁 PostgreSQL 的基石,自动化工具可以覆盖 80% 以上的常规对象转换,大幅降低基础工作的人力成本。但复杂业务逻辑与 Oracle 专属特性,仍需要结合业务场景做适配与验证。
完成高质量的架构转换后,后续的应用代码改造与数据迁移也会更顺畅,整套迁移的效率与质量都能得到有效保障。