加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

多平台向Postgresql 迁移

发布时间:2020-12-13 17:39:58 所属栏目:百科 来源:网络整理
导读:最近有个工作要把 一个SqlServer 迁移到 Postgresql 平台上,上网搜了搜,EnterpriseDB在这块做了很多工作, EnterpriseDB 的 Postgres Plus Advanced Server管理工具中有一个 mogiration toolkit工具。 这里安装的是9.2版本。安装后在 bin 目录下有个edb-mi

最近有个工作要把 一个SqlServer 迁移到 Postgresql 平台上,上网搜了搜,EnterpriseDB在这块做了很多工作,

EnterpriseDB 的 Postgres Plus Advanced Server管理工具中有一个 mogiration toolkit工具。

这里安装的是9.2版本。安装后在 bin 目录下有个edb-migrationtoolkit.jar,这是这个工具的主要程序,通过java 启用jar包进行迁移。其中涉及到三块:

1.bin目录下edb-migrationtoolkit.jar 迁移主程序

2.bin目录下runMTK.bat 迁移命令脚本,linux下是runMTK.sh,内容如下,这里有些改动

@echo off
@REM ----------------------------------------------------------------------------
@REM --
@REM -- Copyright (c) 2004-2012 - EnterpriseDB Corporation.  All Rights Reserved.
@REM --
@REM ----------------------------------------------------------------------------

"D:devJavajre7binjava.exe" -Dprop=..etctoolkit.properties -jar edb-migrationtoolkit.jar -sourcedbtype sqlserver -targetdbtype postgresql -targetSchema public dbo %*
说明
-sourcedbtype sqlserver -targetdbtype postgresql -targetSchema public dbo

上面的配置指定了 源数据库类型,和目标数据库类型。 -targetSchema 指定数据库架构,public表示 postgresql 数据库架构,dbo表示 sql server的数据库架构

更多的配置和迁移参数 使用命令runMTK -help。

3.etc目录下toolkit.properties文件,迁移时源数据库和目标数据库的连接配置,java的连接配置

安装的时候默认的是迁移 oracle到postgresql 这里需要改下。同时由于edb-migrationtoolkit.jar程序中采用的是jtds的 sql server驱动,所以更改如下

SRC_DB_URL=jdbc:jtds:sqlserver://localhost:1433;databasename=test
SRC_DB_USER=sa
SRC_DB_PASSWORD=123456


TARGET_DB_URL=jdbc:postgresql://localhost:5432/test
TARGET_DB_USER=postgres
TARGET_DB_PASSWORD=123456


需要两个额外的 东西,SqlServer 的 jdbc驱动 和postgresql 的jdbc驱动。

http://www.sql-workbench.net/manual/jdbc-setup.html 这个页面查看所有数据库的java 驱动,比较全面。

:在安装Postgres Plus Advanced Server 的mogiration toolkit模块的时候会自动安装jre 在根目录下,但这个版本比较低,还是java 5的。所以如果使用这个jre 的java启动 迁移的时候下载的对应数据jdbc驱动必须支持java5当然。可以采用自己安装的高版本jre,同时下载驱动放在jre/lib/ext 目录下。

这个工具还是比较好用的,比较智能化,无需其他的操作。当然在迁移的时候会遇到一些小问题,比如各个数据库中专有的东西。例如 sql server 会把和 关键字 冲突的列名 加上 [] 。迁移的时候就出错了

同时这个工具可以迁移多个平台。如下:

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读