jumper423 / migration-mysql-to-postgresql
从Mysql迁移到PostgreSql
Requires
- php: >=5.4.0
This package is auto-updated.
Last update: 2024-09-05 18:26:05 UTC
README
FromMySqlToPostgreSql - 数据库迁移工具。
这是关于什么的?
FromMySqlToPostgreSql是一个工具,旨在使从Mysql到PostgreSql的迁移过程尽可能简单和顺畅。
重要更新!
最近,我开发了一个基于Node.js的数据库迁移应用程序NMIG,它受到了FromMySqlToPostgreSql的高度启发。
NMIG有几个重要的功能增强。
由于Node.js的异步特性,NMIG会并行执行其部分任务,这使得它的速度比FromMySqlToPostgreSql快3倍。访问https://github.com/AnatolyUss/nmig。
然而,如果您不使用Node.js,您仍然可以使用旧的、经过验证的FromMySqlToPostgreSql。
主要功能
- 易于使用 - 运行此脚本所需的所有东西就是PHP(CLI)解释器。
- 数据库结构的迁移精度 - FromMySqlToPostgreSql将Mysql数据类型转换为相应的PostgreSql数据类型,创建约束、索引、主键和外键,与迁移前完全一致。
- 能够迁移大型数据库 - 为了减少RAM消耗
FromMySqlToPostgreSql会将每个表的数据拆分为几个块。
可以通过配置文件轻松调整块大小。 - 数据传输速度 - 为了快速迁移数据
FromMySqlToPostgreSql使用PostgreSQL COPY协议。
注意:包含"varbinary"或"blob"列的表的迁移可能会慢得多。 - 易于监控 - FromMySqlToPostgreSql将提供有关执行过程中每个步骤的详细输出。
- 易于配置 - 所需的所有迁移参数都应放在一个单独的文件中,该文件可以是"xml"或"json"格式。
- 能够仅迁移数据(在存在现有数据库的情况下)。
系统要求
- PHP (CLI) 5.4或更高版本
- PDO_MYSQL应安装并启用
- PDO_PGSQL应安装并启用
- mbstring应安装并启用
- register_argc_argv应启用(检查php.ini)。
用法
1. 创建一个新的数据库。
示例:CREATE DATABASE my_postgresql_database;
2. 下载FromMySqlToPostgreSql软件包并将其放置在运行PostgreSql的机器上。
示例: /path/to/FromMySqlToPostgreSql
3. 创建配置
4. 从终端运行脚本。
示例: php index.php
5. 迁移结束后,检查日志文件(如有必要)。
日志文件将位于软件包根目录中的"logs_directory"文件夹中。
注意: "logs_directory"将在脚本执行期间创建。
6. 在迁移过程中出现任何意见、误解或错误时,
请随时通过电子邮件anatolyuss@gmail.com联系我
版本
当前版本为1.4.0
(主要版本 . 改进 . 错误修复)
测试
使用MySql社区服务器(5.6.21)和PostgreSql(9.3)进行了测试。
迁移59.6 MB的数据库(49个表,570750行)的整个流程,
包括数据类型映射、创建表、约束、索引、
主键(PK)、外键(FK)、数据迁移、垃圾回收以及分析新创建的
PostgreSql数据库耗时3分钟6秒。
使用MySql社区服务器(5.6.21)和PostgreSql(9.4)进行测试。
迁移3.1 GB的数据库(56个表,8732967行),
按照上述相同步骤,耗时2小时10分钟。
备注
错误/异常不会静默通过。
任何错误都会立即写入错误日志文件。
感谢
非常感谢所有贡献者宝贵的意见!