Oracle数据库迁移postgreSQL

  • Post author:
  • Post category:其他

Oracle数据库迁移PostgreSQL

本文将记录一下Oracle数据库迁移至PostgreSQL数据库的整个过程,主要使用Navicat Premium 16以及pgAdmin 4来实现。参考:https://blog.csdn.net/zhangjian8641/article/details/109177167

表结构迁移

打开Navicat Premium 16,点击导航栏的工具—>数据传输
在这里插入图片描述
左侧选择为需要迁移的oracle数据库,右侧选择为需要迁移到的postgreSQL数据库,点击选项,仅勾选创建表(先创建表结构,再传数据),转换对象名为小写,由于postgreSQL中识别英文大写时需要加双引号,所以迁移过来尽量转换成全部小写。
在这里插入图片描述
点击下一步,左侧选择要迁移的表,传输模式选择自动,再点击下一步,点击开始,等待完成。

打开pgAdmin 4,可以看到刚才迁移的表结构,打开表属性将oracle中的数据类型对应修改成postgreSQL的数据类型,否则导表数据的时候可能出现部分数据错误(e.g. 在oracle中带小数的number类型数据迁移到postgreSQL后会自动转换为带属性限制的numeric类型,此时导入数据会数据错误,需要手动将数据类型改为无长度规模限制的numeric类型),具体数据类型转换可参考https://blog.csdn.net/li371490890/article/details/124819835
在这里插入图片描述

表数据迁移

打开Navicat Premium 16,同样点击数据传输,选择传输源和传输目标,选项中勾选创建记录,去掉使用完整插入语句选项,点击确定下一步。
在这里插入图片描述
左侧选择要传输的表,右侧传输模式选择高级,目标名改为表名的小写,由于刚才导入表结构的时候已经转小写,所以此处目标名也需要小写,否则找不到表。
在这里插入图片描述
点击下一步,点击开始,等待完成。
此时在pgAdmin 4或者Navicat中可以看到迁移好的表。

代码修改

SpringBoot或SpringCloud项目中需在配置文件中修改数据库配置
在这里插入图片描述
同时修改mybatis文件,将oracle函数换为pstgreSQL函数。部分函数转换参考:https://my.oschina.net/liyuj/blog/539303?fromerr=L3ZJLcuW&utm_source=tuicool&utm_medium=referral


版权声明:本文为weixin_45763399原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。