广

MYSQL

  • MYSQL
  • MSSQL
  • Redis
  • MongoDB
  • oracle数据库
  • 数据管理

    将MySQL数据库移植为PostgreSQL

    2018-05-16 07:54:34 次阅读 稿源:互联网
    零七网广告
    全网推广平台,软文发布
    在北美,人们对于 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的使用差异,系统函数的命名和调用的差异等等。

    零七网部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与零七网进行文章共享合作。

    零七网广告
    零七网广告
    零七网广告
    零七网广告