7天突破PolarDB for Postgre 2022版
第七讲 为PolarDB开发选择合适的工具
分享人:渊云张达刚,恒辉信达技术有限公司技术总监
视频地址:https://developer.aliyun.com/learning/course/992/detail/14981
目录
一、常用的IDE工具简介
二、迁移Oracle数据到PolarDB
三、PolarDB存储过程调试
正文:
一、常用的IDE工具简介
1、常用工具
能够连接PolarDB并且进行管理的IDE工具有如下四种:
- PG admin 4:自由下载免费,https://www.pgadmin.org
- Navicat:商业软件,需要许可,https://www.navicat.com/
- DB Beaver:社区版免费,其他版收费,https://dbeaver.com/
- HHDBCS:个人免费,企业收费,https://www.deskui.com/
2、选择标准
- 简单易用(安装简单,使用简单);
- 帮助你最大限度的减轻工作量;
- 持续提供版本升级;
- 最好能够响应你的需求;
3、操作功能对比
通过对比其中三款免费IDE工具,帮助开发者选择合适的工具。
- 是否有查询窗口
- 三种IDE工具都有;
- 是否有智能弹窗
- HHDBCS有;
- PG admin没有;
- DB Beaver有,但有时候列弹不出来;
- 是否可以同时删除多个外部表格
- PG admin只能单个逐个删除;
- HHDBCS使用shift键可以同时删除多个表格;
- 是否支持格式化排版
- PG admin和DB Beaver格式化后没有明显改善;
- HHDBCS是格式化排版效果最好的;
- 是否有命令窗口
- DB Beaver无命令窗口;
- PG admin需要通过配置才可以实现,且有不少问题,如:当窗口数据太多时,需要人工不停按回车键才可以继续显示;同时PG admin无法使用Ctl+A全选命令,只能通过鼠标下拉高亮来选择复制;
- HHDBCS的命令窗口可以显示全部信息且能够通过Ctl+A全选导出;
- 是否支持多开
- PG admin不支持;
- HHDBCS支持;
二、迁移Oracle数据到PolarDB
1、脚本迁移
a. 问题:
Oracle独特的数据类型给迁移造成很多障碍,如下对比,Oracle的数据类型和PolarDB的数据类型并不等同:
b. 迁移方法:
- 使用HHDBCS,多开,分别连接Oracle和PolarDB;
- 打开菜单 - 工具 - 转换 - SQL转换;
- 源数据选择Oracle,目标数据选择pgsql,点击执行转换;
- 拷贝转换后的语句到PolarDB的语句窗口,执行;
- 通过对比Oracle的数据表和PolarDB的数据表,二者数据一致,说明迁移成功。
2、数据迁移
- 使用模板窗口,生成1000条测试数据,执行,生成insert语句;
- 打开新的语句窗口,将生成的1000条insert语句拷贝进去,执行并提交;
- 通过select命令查询行数,有1000行数据;然后全部查询,并将查询结果导出;
- 导出配置,点击确定;
- 导出成功,然后将这1000条数据迁移到PolarDB;
- 首先迁移表格结构,将结构语句拷贝过来,通过SQL转换工具进行转换;
- 将转换成功的语句,添加到语句窗口执行,刷新,可以看到表格创建成功;
- 在任务管理窗口,添加刚才导出的sql文件,点击确定后开始执行;
- 执行完成,打开表格,看到数据已经迁移过来;
- 通过select语句查询,验证数据也是1000行,完整性没有问题。
3、应用SQL语句迁移
Oracle和PolarDB的语法差异很大,使用HHDBCS可以实现一键转换,方法同样是使用SQL转换工具,具体方法参考以上步骤。
三、PolarDB存储过程调试
1、调试插件安装
从github下载调试插件,放入PoloarDB的contrib目录,进行编译安装。编译后,可以使用HHDBCS安装和卸载。
2、存储过程调试
以一个简单的存储过程为例进行调试;
- HHDBCS调试:
- DB Beaver调试:
DB Beaver不支持存储过程调试,另外它把PolarDB的函数和存储过程都认为是存储过程;
DB Beaver虽然不支持存储过程调试,但是可以进行执行存储过程:
- PG admin调试:
PG admin调试方法和HHDBCS调试是一样的,后续大家可以根据实践经验,用更复杂的存储过程来体验调试工作。