表结构

先将mysql的表结构转换成postgresql的表结构。(这里使用的是Navicat工具)
步骤以及图示如下:单表的话选择需要转换的表,单击表名右键–》逆向表到模型–》在新生成的窗口中点击文件–》选择转换模型为–》选择目标数据库以及版本–》再次点击文件选择导出sql,将sql脚本放到对应的数据库执行即可生成对应的表。



点击确实以后会生成一个新的模型窗口,右下角的mysql 5.7会变成postgresql 9.5,在新窗口点击文件选择导出sql

选择导出文件位置以及要导出的表和视图,该sql脚本是表或者视图的生成语句,将该sql脚本拿到对应的数据库执行即可生成对应的表或者视图。

多表可以在对象中选中多张表右键逆向表到模型,后续操作都一样。

也可以直接逆向数据库到模型,这样可以生成更多的表结构进行选择,后续操作也是一样的。

导入数据

建表以后需将mysql的数据导出,在对象处选择导出向导,选择导出的格式为sql脚本。并点击下一步,选择要导出的表以及文件存放的位置。

在存储脚本的位置找到对应的sql脚本,该脚本基本为insert语句,注意在pgsql中不能直接执行该脚本,因为该脚本的insert语句为mysql的语法,与pgsql的语法存在一定的差异。

#导出的sql会在每个字段以及表名上面加上反引号``,pgsql中不支持,需要全部去掉后再执行,否则报错
mysql:INSERT INTO `qrtz_cron_triggers`(`sched_name`, `trigger_name`, `trigger_group`, `cron_expression`, `time_zone_id`) VALUES ('RuoyiScheduler', 'TASK_CLASS_NAME1', 'DEFAULT', '0/10 * * * * ?', 'Asia/Shanghai');
pgsql:INSERT INTO qrtz_cron_triggers(sched_name, trigger_name, trigger_group, cron_expression, time_zone_id) VALUES ('RuoyiScheduler', 'TASK_CLASS_NAME1', 'DEFAULT', '0/10 * * * * ?', 'Asia/Shanghai');

下面这个是转义的问题

#下面这个sql的字符串中存在转义字符换行符\n以及''的转义字符\'\','*'转义为\'*\',mysql对这种转义无需其他处理,但是pgsql需要在前面加个E,比如正常的字符串是"aaa: 'b'",mysql插入时为'aaa:\'*\'',而pgsql则为E'aaa:\'*\'',有一种说法是pgsql9以后才需要加E,之前的版本不需要,这个有待考证,没实践过,当前使用的是guass的数据库,底层不知道用的是pgsql的什么版本,但是是需要加E才有用。
mysql:INSERT INTO config_info(id, data_id, group_id, content, md5, gmt_create, gmt_modified, src_user, src_ip, app_name, tenant_id, c_desc, c_use, effect, type, c_schema) VALUES (1, 'application-dev.yml', 'DEFAULT_GROUP', 'spring:\n  main:\n    allow-bean-definition-overriding: true\n  autoconfigure:\n    exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure\n\n#请求处理的超时时间\nribbon:\n  ReadTimeout: 10000\n  ConnectTimeout: 10000\n\n# feign 配置\nfeign:\n  sentinel:\n    enabled: true\n  okhttp:\n    enabled: true\n  httpclient:\n    enabled: false\n  client:\n    config:\n      default:\n        connectTimeout: 10000\n        readTimeout: 10000\n  compression:\n    request:\n      enabled: true\n    response:\n      enabled: true\n\n# 暴露监控端点\nmanagement:\n  endpoints:\n    web:\n      exposure:\n        include: \'*\'\n\n\n', 'd1689e5c7be453905a73fb07445aa034', '2019-11-29 16:31:20', '2021-11-03 02:19:04', 'nacos', '172.20.16.6', '', '', '通用配置', 'null', 'null', 'yaml', 'null');
pgsql: INSERT INTO config_info(id, data_id, group_id, content, md5, gmt_create, gmt_modified, src_user, src_ip, app_name, tenant_id, c_desc, c_use, effect, type, c_schema) VALUES (1, 'application-dev.yml', 'DEFAULT_GROUP', E'spring:\n  main:\n    allow-bean-definition-overriding: true\n  autoconfigure:\n    exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure\n\n#请求处理的超时时间\nribbon:\n  ReadTimeout: 10000\n  ConnectTimeout: 10000\n\n# feign 配置\nfeign:\n  sentinel:\n    enabled: true\n  okhttp:\n    enabled: true\n  httpclient:\n    enabled: false\n  client:\n    config:\n      default:\n        connectTimeout: 10000\n        readTimeout: 10000\n  compression:\n    request:\n      enabled: true\n    response:\n      enabled: true\n\n# 暴露监控端点\nmanagement:\n  endpoints:\n    web:\n      exposure:\n        include: \'*\'\n\n\n', 'd1689e5c7be453905a73fb07445aa034', '2019-11-29 16:31:20', '2021-11-03 02:19:04', 'nacos', '172.20.16.6', '', '', '通用配置', 'null', 'null', 'yaml', 'null');

mysql的blob类型数据插入postgresql的bytea类型的问题,mysql中的blob数据类型对应的是pgsql中的bytea数据类型,但是二者的数据格式在插入时存在一定的差异。

#下面这是导出的数据插入语句,job_data字段是blob类型,该数据的前缀为0x开头,使用pgsql时该语句会报错,需要将该数据用单引号引起来,并且将0x的0换成\\,并在单引号外面加上E进行转换这样即可达到效果。该原理有待研究,是经过测试得出来的。
mysql: INSERT INTO qrtz_job_details(sched_name, job_name, job_group, description, job_class_name, is_durable, is_nonconcurrent, is_update_data, requests_recovery, job_data) VALUES ('RuoyiScheduler', 'TASK_CLASS_NAME3', 'DEFAULT', NULL, 'com.ruoyi.job.util.QuartzDisallowConcurrentExecution', '0', '1', '0', '0', 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C7708000000100000000174000F5441534B5F50524F504552544945537372001B636F6D2E72756F79692E6A6F622E646F6D61696E2E5379734A6F6200000000000000010200084C000A636F6E63757272656E747400124C6A6176612F6C616E672F537472696E673B4C000E63726F6E45787072657373696F6E71007E00094C000C696E766F6B6554617267657471007E00094C00086A6F6247726F757071007E00094C00056A6F6249647400104C6A6176612F6C616E672F4C6F6E673B4C00076A6F624E616D6571007E00094C000D6D697366697265506F6C69637971007E00094C000673746174757371007E00097872002B636F6D2E72756F79692E636F6D6D6F6E2E636F72652E7765622E646F6D61696E2E42617365456E7469747900000000000000010200074C0008637265617465427971007E00094C000A63726561746554696D657400104C6A6176612F7574696C2F446174653B4C0006706172616D7371007E00034C000672656D61726B71007E00094C000B73656172636856616C756571007E00094C0008757064617465427971007E00094C000A75706461746554696D6571007E000C787074000561646D696E7372000E6A6176612E7574696C2E44617465686A81014B597419030000787077080000017C9BBE915078707400007070707400013174000E302F3230202A202A202A202A203F74003872795461736B2E72794D756C7469706C65506172616D7328277279272C20747275652C20323030304C2C203331362E3530442C203130302974000744454641554C547372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B02000078700000000000000003740018E7B3BBE7BB9FE9BB98E8AEA4EFBC88E5A49AE58F82EFBC8974000133740001317800);
pgsql: INSERT INTO qrtz_job_details(sched_name, job_name, job_group, description, job_class_name, is_durable, is_nonconcurrent, is_update_data, requests_recovery, job_data) VALUES ('RuoyiScheduler', 'TASK_CLASS_NAME3', 'DEFAULT', NULL, 'com.ruoyi.job.util.QuartzDisallowConcurrentExecution', '0', '1', '0', '0', E'\\xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C7708000000100000000174000F5441534B5F50524F504552544945537372001B636F6D2E72756F79692E6A6F622E646F6D61696E2E5379734A6F6200000000000000010200084C000A636F6E63757272656E747400124C6A6176612F6C616E672F537472696E673B4C000E63726F6E45787072657373696F6E71007E00094C000C696E766F6B6554617267657471007E00094C00086A6F6247726F757071007E00094C00056A6F6249647400104C6A6176612F6C616E672F4C6F6E673B4C00076A6F624E616D6571007E00094C000D6D697366697265506F6C69637971007E00094C000673746174757371007E00097872002B636F6D2E72756F79692E636F6D6D6F6E2E636F72652E7765622E646F6D61696E2E42617365456E7469747900000000000000010200074C0008637265617465427971007E00094C000A63726561746554696D657400104C6A6176612F7574696C2F446174653B4C0006706172616D7371007E00034C000672656D61726B71007E00094C000B73656172636856616C756571007E00094C0008757064617465427971007E00094C000A75706461746554696D6571007E000C787074000561646D696E7372000E6A6176612E7574696C2E44617465686A81014B597419030000787077080000017C9BBE915078707400007070707400013174000E302F3230202A202A202A202A203F74003872795461736B2E72794D756C7469706C65506172616D7328277279272C20747275652C20323030304C2C203331362E3530442C203130302974000744454641554C547372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B02000078700000000000000003740018E7B3BBE7BB9FE9BB98E8AEA4EFBC88E5A49AE58F82EFBC8974000133740001317800');

后续问题持续更进!!!

mysql表结构以及数据导入postgresql常见问题相关推荐

  1. SQL Server表结构和数据导入到MySQL

    借助的工具:Navicat for MySQL,链接:http://pan.baidu.com/s/1kVCw8IF 密码:g927 可以很明确的肯定,主键和自增列是没办法导入的,只能是表结构和数据. ...

  2. solr mysql dih_Solr结构化数据导入DIH

    Solr结构化数据导入简介 Solr支持从关系数据库.基于http的数据源(如RSS和ATOM提要).电子邮件存储库和结构化XML中索引内容.这里介绍从关系型数据库Mysql导入数据. solr自动帮 ...

  3. 恢复MySQL 表结构 和数据

    一.恢复表结构 Linux系统安装dbsake a.创建目录 cd /usr/local/ mkdir dbsake cd dbsake b.安装 curl -s get.dbsake.net > ...

  4. impdp oracle 只导入表结构_Oracle数据导入导出(expdp impdp)

    oracle数据泵的使用方式, 以及数据泵命令的参数说明 使用expdp和impdp时应该注重的事项: 1.exp和imp是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用. 2.expdp ...

  5. mysql命令导出表结构和数据_mysql-用命令导出、导入表结构或数据

    1. 导出整个数据库(表结构和数据) mysqldump -u用户名 -p  数据库名 > 导出的文件名 [root@localhost work]# mysqldump -uroot -p m ...

  6. 从MySQL中导出表中数据_用命令从mysql中导出/导入表结构及数据

    在命令行下mysql的数据导出有个很好用命令mysqldump,它的参数有一大把,可以这样查看: mysqldump 最常用的: mysqldump -uroot -pmysql databasefo ...

  7. mysql重新安装后之前表_关于重装mysql数据库之后.新的数据库引入旧数据的表结构和数据问题...

    由于种种问题,也许某一天数据库崩了,或者电脑崩了.重新装Mysql数据库的话:如何导入旧的数据库中的的表结构以及数据呢? 我是在重置电脑之后.进行重装数据库之后.遇到此问题.由于之前未遇到过此种问题. ...

  8. mysql innodb ibd_MySQL innodb引擎下根据.frm和.ibd文件恢复表结构和数据

    记录通过.frm和.ibd文件恢复数据到本地 .frm文件:保存了每个表的元数据,包括表结构的定义等: .ibd文件:InnoDB引擎开启了独立表空间(my.ini中配置innodb_file_per ...

  9. mysql 去重主表数据,两张表结构相同数据(百万级别)

    这里写自定义目录标题 mysql 去重主表数据,两张表结构相同数据(百万级别) 得到两张表的并集,查出主表在并集中出现的主键id 删除主表中重复的id,根据上面sql查出的数据 2.一部删除到位 my ...

最新文章

  1. git(码云):如何把本地代码提交到码云代码管理项目上
  2. python消找出img中的src标签_使用beautifulsoup从img标签获取src
  3. .Net Core应用搭建的分布式邮件系统设计
  4. 遵循五大设计理念 打造出色设计师
  5. cxgrid 行合并单元格_合并单元格求和、计数、加序号
  6. 数组 最大差值_数组两元素的最大差:从暴力到多线程
  7. MySQL(26)--- 索引
  8. python程序弹出输入框_尝试使Kivy按钮弹出一个文本框
  9. cat /etc/redhat-release 查看centos版本
  10. AJAX问题:如果SESSION丢失,会直接报错。
  11. 计算机怎么查文件打印记录表,打印机打印文件历史记录如何查看
  12. android studio 模拟器很慢,解决AndroidStudio模拟器卡慢的问题
  13. 点赞 分数 20作者 陈越单位 浙江大学
  14. git 创库命令使用
  15. c语言中断函数作用,进一步理解中断函数
  16. label 详细用法
  17. CVPR 2021 华南理工和微信的Transformer:UP-DETR无监督预训练检测器
  18. 微信小程序入门与实战之阅读列表与setData数据的绑定
  19. 互联网盈利模式研习笔记 1:流量变现
  20. python图像融合算法_图像融合质量评价方法的python代码实现——MS-SSIM

热门文章

  1. 微信小程序实例 - 手机号归属地查询
  2. 微信小程序canvas绘图 绘图完成保存图片 附带代码和效果图
  3. 在cocos2d-x中使用DragonBones实现骨骼动画
  4. Android开发之百度地图定位
  5. NC:中农徐凌/UC伯克利Coleman-Derr-植物与根际微生物在干旱下的互作机制(招博后)...
  6. Flask——转换器
  7. hive case when then 多条件
  8. html 元素大小为0,将卡片元素大小固定为相同的HTML+SCSS+JavaScript
  9. 面向电信行业存量用户的智能套餐个性化匹配模型(top6)
  10. 自助去除APK的广告!(整理、修改、简化版)