本人很喜欢postgresql数据库,也一直认为postgresql比mysql要更好更强大。
可生态环境太差了,无奈,最近要把一个小站转成mysql数据库。
小站主要表数据110万,pg_dump备份下载的压缩数据库将近3G。怎么转成mysql呢?
我首先尝试了工具,结果只找到两款国外的工具( PostgresToMysql和 DBConvert for MySQL & PostgreSQL ),用了半天,发现总是不成功。
两款软件的截图
同时我用python写了脚本,读取pgsql1000条,然后写入mysql1000条,可是这样简直太慢了,搞了好几个小时,才30几万数据。
最终解决:
踏破铁鞋无觅处,解决办法原来就在我一直使用的Navicat 软件上。
Navicat是一款数据库管理软件,平时一直用它管理各种数据库,没想到他有一个数据传输功能,恰好可以解决我的问题。
点击“工具”-->“数据传输”。根据设置一步步来,记得把原来pgsql特有的字段属性提前改好,改成mysql可以识别的。
大功告成。普通机械硬盘,100万数据,估计不到1个小时就可以跑完。
本人很喜欢postgresql数据库,也一直认为postgresql比mysql要更好更强大。可生态环境太差了,无奈,最近要把一个小站转成mysql数据库。小站主要表数据110万,pg_dump备份下载的压缩数据库将近3G。怎么转成mysql呢?尝试1:我首先尝试了工具,结果只找到两款国外的工具( PostgresToMysql和 DBConvert for MySQL & Postgre...
这一段时间在帮客户写一个小型的CRUD项目,原项目是
MySQL
数据库
,客户有一个要求就是必须使用
PostgreSQL
数据库
,本来以为
转
换非常方便,没想到还是折腾了一下。预先提醒一下,我只完成了
数据库
表结构、数据的
转
换,其他的外键、视图没有涉及。
首先
MySQL
与
PostgreSQL
的语法还是有些差别,无法无缝
转
换使用。于是在网上找到了一个收费工具,
MySQL
to
PostgreSQL
,demo版本,有如下限制:
1、数据记录,不超过50条
2、不能
转
换外键及视图
第二条限制还好办,我使用的MySQ
PostgreSQL
由于是类似Oracle的多进程框架,所以能支持高并发的应用场景,这点与Oracle
数据库
很像,所以把Oracle
DBA
转
到
PostgreSQL
数据库
上是比较容易的,毕竟
PostgreSQL
数据库
与Oracle
数据库
很相似。
PostgreSQL
和
MySQL
是两种流行的关系型
数据库
管理系统(RDBMS),它们都可以用来存储和管理数据。但是它们在某些方面有所不同:
- 开源性:
PostgreSQL
是完全开源免费的软件,而
MySQL
是受 Oracle 公司管理的开源软件,在某些情况下需要付费。
- 数据类型:
PostgreSQL
支持更多的数据类型,如数组,Hstore,JSON 等,而
MySQL
的支持较少。
- 事务:
PostgreSQL
支持严格的 ACID 事务,而
MySQL
支持较弱的事务。
- 存储过程:
PostgreSQL
支持编程语言(如 PL/pgSQL, PL/Tcl, PL/Perl)作为存储过程,而
MySQL
仅支持 SQL 作为存储过程。
- 数据完整性和约束:
PostgreSQL
支持严格的数据完整性和约束,而
MySQL
支持较弱的约束。
- 性能:
MySQL
被认为在读写小数据量时会更快一点,而在读写大数据量时,
PostgreSQL
更具优势。
总之,
PostgreSQL
和
MySQL
都是功能强大的
数据库
管理系统,但它们适用于不同的场景。如果需要处理大量的数据,支持严格的事务和数据完整性,那么
PostgreSQL
更适合;如果需要高
PostgreSQL
和
MySQL
是两种常用的关系型
数据库
管理系统。它们之间有一些显著的差异:
-
PostgreSQL
支持更为丰富的数据类型,如数组、hstore 和 JSON。同时也支持触发器和存储过程。
-
MySQL
更为简单易用,性能更高。
MySQL
在网站和 web 应用方面有着广泛的应用。
-
PostgreSQL
主要用于数据分析、企业资源管理等需要高可靠性、高可扩展性和复杂查询的应用。
-
MySQL
在社区版本和企业版本之间有一些差异,
MySQL
社区版本是开源的,而
MySQL
企业版本是收费的,并提供更高级的性能和管理功能。
总体来说,
PostgreSQL
更适合大型复杂项目,
MySQL
更适合小型简单项目。