将MySQL数据库移植为PostgreSQL

顾漫__

顾漫__

2016-02-19 09:41

今天图老师小编给大家展示的是将MySQL数据库移植为PostgreSQL,精心挑选的内容希望大家多多支持、多多分享,喜欢就赶紧get哦!
在北美,人们对于 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的使用差异,系统函数的命名和调用的差异等等。
展开更多 50%)
分享

猜你喜欢

将MySQL数据库移植为PostgreSQL

编程语言 网络编程
将MySQL数据库移植为PostgreSQL

备份PostgreSQL和MySQL数据库

编程语言 网络编程
备份PostgreSQL和MySQL数据库

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

MySQL和PostgreSQL两数据库的对决

编程语言 网络编程
MySQL和PostgreSQL两数据库的对决

将mysql数据导入access数据库

编程语言 网络编程
将mysql数据导入access数据库

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

教你为MySQL数据库换挡加速

编程语言 网络编程
教你为MySQL数据库换挡加速

将Access数据库移植到SQL Server 7.0

SQLServer
将Access数据库移植到SQL Server 7.0

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Win7系统桌面设置一键锁定休眠的快捷方式的方法

Win7系统桌面设置一键锁定休眠的快捷方式的方法

JSP EL表达式详细介绍

JSP EL表达式详细介绍
下拉加载更多内容 ↓