ここにリストされているツールを試してみましたが、他のツールよりも成功したものもありましたが、使用できる有効なpostgres構文を提供するツールはありませんでした(tinyintエラーなど)。
9 に答える
mysqldump
PostgreSQLコードを出力するオプションがあります。
mysqldump --compatible =postgresql..。
しかし、それはあまりうまくいきません。
代わりに、 LinusOleanderの回答で説明されているmysql-to-postgresツールを参照してください。
Google でしばらくしてから、この投稿を見つけました。
- を使用してmysql2psql gem をインストールします
[sudo] gem install mysql2psql
。 - を実行して構成ファイルを作成します
mysql2psql
。エラーが表示されますが、mysql2psql.yml
ファイルは作成されているはずです。 - 編集
mysql2psql.yml
- 再度実行
mysql2psql
してデータを移行します。
ヒント:データを移行する前に postgresql データベースをクリアする場合は、構成ファイルで に設定force_truncate
しtrue
ます。mysql2psql.yml
私はpy-mysql2pgsqlを使用しました。インストール後は、yml 形式 (ソース、宛先) の単純な構成ファイルのみが必要です。
# if a socket is specified we will use that
# if tcp is chosen you can use compression
mysql:
hostname: localhost
port: 3306
socket: /tmp/mysql.sock
username: mysql2psql
password:
database: mysql2psql_test
compress: false
destination:
# if file is given, output goes to file, else postgres
file:
postgres:
hostname: localhost
port: 5432
username: mysql2psql
password:
database: mysql2psql_test
使用法:
> py-mysql2pgsql -h
usage: py-mysql2pgsql [-h] [-v] [-f FILE]
Tool for migrating/converting data from mysql to postgresql.
optional arguments:
-h, --help show this help message and exit
-v, --verbose Show progress of data migration.
-f FILE, --file FILE Location of configuration file (default:
mysql2pgsql.yml). If none exists at that path,
one will be created for you.
この postgresql ページには有料ソフトウェアが 1 つリストされています: http://www.postgresql.org/download/products/1
これは pgFoundry にあります: http://pgfoundry.org/projects/mysql2pgsql/
PG Foundryを見てください。Postgres 用の追加のユーティリティがそこにある傾向があります。あなたが探しているツールは存在すると思います。
あなたに代わってすべての仕事をしてくれる、そのようなタスクのためのツールを手に入れることはおそらくないでしょう。自分でリファクタリング作業を行う準備をしてください。