# mysql2postgres **Repository Path**: mirrors/mysql2postgres ## Basic Information - **Project Name**: mysql2postgres - **Description**: mysql2postgres 是一个类似 mysql 自带的 mysqldump 工具,只不过是导出的 SQL 格式是适合 PostgreSQL 数据库的 - **Primary Language**: Ruby - **License**: MIT - **Default Branch**: master - **Homepage**: https://www.oschina.net/p/mysql2postgres - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2020-12-10 - **Last Updated**: 2026-01-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # mysql-to-postgres - MySQL to PostgreSQL Data Translation [![Build Status](https://travis-ci.org/maxlapshin/mysql2postgres.svg)](https://travis-ci.org/maxlapshin/mysql2postgres) [![Dependency Status](https://gemnasium.com/maxlapshin/mysql2postgres.svg)](https://gemnasium.com/maxlapshin/mysql2postgres) MRI or jruby supported. The minimum Ruby version supported in `master` branch is `2.1.7`, and the next release will have the same requirement. With a bit of a modified rails `database.yml` configuration, you can integrate `mysql-to-postgres`into a project. ## Installation **Currently failing, see #81...** ### Via RubyGems ```sh gem install mysqltopostgres ``` ### From source ```sh git clone https://github.com/maxlapshin/mysql2postgres.git cd mysql2postgres bundle install gem build mysqltopostgres.gemspec sudo gem install mysqltopostgres-0.3.1.gem ``` ## Sample Configuration Configuration is written in [YAML format](http://www.yaml.org/ "YAML Ain't Markup Language") and passed as the first argument on the command line. ```yaml default: &default adapter: jdbcpostgresql encoding: unicode pool: 4 username: terrapotamus password: default host: 127.0.0.1 development: &development <<: *default database: default_development test: &test <<: *default database: default_test production: &production <<: *default database: default_production mysql_data_source: &pii host: localhost port: 3306 socket: /tmp/mysqld.sock username: username password: default database: awesome_possum mysql2psql: mysql: <<: *pii destination: production: <<: *production test: <<: *test development: <<: *development tables: - countries - samples - universes - variable_groups - variables - sample_variables # If suppress_data is true, only the schema definition will be exported/migrated, and not the data suppress_data: false # If suppress_ddl is true, only the data will be exported/imported, and not the schema suppress_ddl: true # If force_truncate is true, forces a table truncate before table loading force_truncate: false preserve_order: true remove_dump_file: true dump_file_directory: /tmp report_status: json # false, json, xml # If clear_schema is true, the public schema will be recreated before conversion # The import will fail if both clear_schema and suppress_ddl are true. clear_schema: false ``` Please note that the MySQL connection will be using socket in case the host is not defined (`nil`) or it is `'localhost'`. ## Testing ## License Licensed under [the MIT license](MIT-LICENSE).