将MySQL数据库移植为PostgreSQL_Mysql

在北美,人们对于 PostgreSQL 的热情不断升温。随着 PostgreSQL 的发展, PostgreSQL 8.x 已经从技术上超越 MySQL 5.x ,而市场的超越相信只是时间问题。而最终,用户也许有机会享受到可媲美 Oracle 的开源数据库也未尝没有可能。
我供职的互联网公司,服务约 50 万商务用户,经过多次的升级移植,目前公司已经全部将后台数据库从 MySQL 移植到 PostgreSQL ,而个人完成了其中一半的数据库移植工作,所以对数据库从 MySQL 移植到 PostgreSQL 积累了一些经验。在此整理成文,希望能对大家使用 PostgreSQL 有一些启发。
1) 准备: 使用 MySQL 数据备份工具对数据库进行全备份:
mysqldump -h [hostname] -u [username] -p [password] --extended-insert=false [dbname] > mysql-db.sql
注意 disable extended-insert , PostgreSQL 不支持 MySQL 的 extended-insert
2) 转化: 将 mysql-db.sql 转为 PostgreSQL 可以导入的 SQL Script.
MySQL 和 PostgreSQL 在 SQL 语义上存在一定差异,比如 MySQL 不支持 sequence ,触发器等功能,但为此又提供了一些自有的语法规则,而对比一些系统函数, MySQL 和 PostgreSQL 又存在比较大的差别。为此,我编写了一段语义分析和转化的程序 mysql2psql
>mysql2psql mysql-db.sql postgres-db.sql
3) 导入: 使用 PostgreSQL 提供的 pgAdmin 将数据文件导入数据库。
4) SQL 语句的修改: 在实际的应用中,前端的系统往往会嵌入一些具有数据库特性的 SQL 语句,而随着后台数据库的改变,前端的系统程序也同样需要做出相应的修改。
MySQL 和 PostgreSQL 最常见的不同之处包括:Group by,Join的使用差异,系统函数的命名和调用的差异等等。

时间: 2024-09-27 03:46:03

将MySQL数据库移植为PostgreSQL_Mysql的相关文章

如何把本地MySql数据库移植到远程服务器上

如何把本地MySql数据库移植到远程服务器上 用dedecms做了一个女性网站,是仿爱丽女人网的.为了在本地测试,就要添加分类栏目,为了看首页和列表页面的效果,还得在网上采集大量的各个分类的内容.这样下来几十个栏目每栏目几十条信息,信息一下就是几千条.做着做着就还不如先在本地做好,然后带数据图片一起上传上去.速度快!好操作,灵活性大.现在就把数据库的移植过程写出来和大家共享,有这样做的朋友也可以做个参考! 所有数据做好了,申请空间,申请数据库,好多情况也是已经有数据的数据回了.哪就要先备份已有的

mysql数据库移植

在mysql数据库移植的时候,把自己电脑上mysql中data目录的一些重要文件复制到其他电脑上,先备份一下其他电脑上的mysql的data目录,然后替换! 例如我的mysql默认的数据库文件位置: C:\ProgramData\MySQL\MySQL Server 5.6\data! 这样就可以成功的移植数据库了!

MySQL数据库移植总结

一.前言 MySQL是一个由瑞典MySQL AB公司开发的关系型数据库管理系统,目前归属Oracle公司旗下.MySQL是一种关联数据库管理系统,它将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性.由于其体积小.速度快.总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库. 考虑到MySQL的诸多优点,很多通讯类软件都开始采用MySQL作为其业务数据库,前期采用Oracle或Sybase的软件也启动了向MySQL数据库

Oracle数据库移植到MySQL实战

项目做好了,更高的要求被提出来,比如,要多数据库支持,怎么办?移植!有没有人做过这事,我好参考一下?哦,这有一个- 关键词:Oracle MySQL 移植 一.前言 公司原来的项目是基于Oracle数据库的,Oracle功能强大,但是部署和管理较复杂,更重要的是,购买Oracle的费用不是每个客户都愿意承担的.因此,迫切需要把公司项目所用数据库移植到一个简单好用的数据库上.当然,如您所料,我们选择了广受欢迎的MySQL. 作为一个开源数据库,MySQL用无数案例证明了她的可用性,因此让我们把重点

mysql数据库备份

mysql|备份|数据|数据库 在数据库表丢失或损坏的情况下,备份你的数据库是很重要的.如果发生系统崩溃,你肯定想能够将你的表尽可能丢失最少的数据恢复到崩溃发生时的状态.有时,正是MySQL管理员造成破坏.管理员已经知道表已破坏,用诸如vi或Emacs等编辑器试图直接编辑它们,这对表绝对不是件好事!备份数据库两个主要方法是用mysqldump程序或直接拷贝数据库文件(如用cp.cpio或tar等). 每种方法都有其优缺点: mysqldump与MySQL服务器协同操作.直接拷贝方法在服务器外部进

MySQL数据库备份(转)

mysql|备份|数据|数据库 MySQL数据库备份[晏子]  http://clyan.hongnet.com/index.html在数据库表丢失或损坏的情况下,备份你的数据库是很重要的.如果发生系统崩溃,你肯定想能够将你的表尽可能丢失最少的数据恢复到崩溃发生时的状态.有时,正是MySQL管理员造成破坏.管理员已经知道表以破坏,用诸如vi或Emacs等编辑器试图直接编辑它们,这对表绝对不是件好事!备份数据库两个主要方法是用mysqldump程序或直接拷贝数据库文件(如用cp.cpio或tar等

MySQL数据库和备份与恢复

mysql|备份|恢复|数据|数据库 在数据库表丢失或损坏的情况下,备份你的数据库是很重要的.如果发生系统崩溃,你肯定想能够将你的表尽可能丢失最少的数据恢复到崩溃发生时的状态.有时,正是MySQL管理员造成破坏.管理员已经知道表以破坏,用诸如vi或Emacs等编辑器试图直接编辑它们,这对表绝对不是件好事!  备份数据库两个主要方法是用mysqldump程序或直接拷贝数据库文件(如用cp.cpio或tar等).每种方法都有其优缺点:  mysqldump与MySQL服务器协同操作.直接拷贝方法在服

实战经验:PHP+MySQL数据库论坛简易通

校园论坛是校园网中不可缺少的部分之一.虽然基于ASP+ACCESS的论坛使用简洁,安装方便,但MySQL数据库以它短小.方便.速度快.免费等优点成为很多站点目前首选数据库,加上PHP语言也具有可跨平台.移植性高,安全可靠,快速高效的优点,因此目前很多流行论坛程序都采用了PHP+MySQL相结合来开发.不过对于我等菜鸟们来说在服务器上安装PHP+MySQL论坛可不像ASP+ACCESS那么简单,只需要直接放到站点目录下即可运行.因为大多数PHP+MySQL论坛在使用前都需要安装. 如果你打算购买虚

PHP+MySQL数据库论坛简易通

校园论坛是校园网中不可缺少的部分之一.虽然基于ASP+ACCESS的论坛使用简洁,安装方便,但MySQL数据库以它短小.方便.速度快.免费等优点成为很多站点目前首选数据库,加上PHP语言也具有可跨平台.移植性高,安全可靠,快速高效的优点,因此目前很多流行论坛程序都采用了PHP+MySQL相结合来开发.不过对于我等菜鸟们来说在服务器上安装PHP+MySQL论坛可不像ASP+ACCESS那么简单,只需要直接放到站点目录下即可运行.因为大多数PHP+MySQL论坛在使用前都需要安装. 如果你打算购买虚