今回は、postgresqlからMySQLへの移行手順を書いてみたいと思います。
今回もMySQLマイグレーションツールキットを使用します。

全体の流れは、Oracleからの移行で説明したのと同様になります。

1.ツールを起動する前に、以下のフォルダにpostgresqlのjdbc-jarをコピーしておいてください。
postgresのJDBCドライバはhttp://jdbc.postgresql.org/download.htmlからダウンロードできます。

私の環境では以下をコピーしました。
C:\Program Files\MySQL\MySQL Tools for 5.0\java\lib
へpostgresql-8.3-604.jdbc3.jarをコピー

2.ツールを起動します。

3.移行元データベース(Source Database)の画面で以下のように設定します。
Database System : Generic jdbc
Class Name : org.postgresql.Driver
Connection String : jdbc:postgresql://ホスト名:ポート番号/データベース名
例: jdbc:postgresql://eslab177:5432/testdb
Username : postgres

4.移行先データベースの設定を行います。
今回はOracle移行の時と同じインスタンスを使います。

5.サーバへ接続処理されます。
接続が成功すると、Oracleの時同様にExecution completed successfullyと出力されます。

6.移行元スキーマの選択を行います。
Oracleの時と同様にスキーマ(データベース)の選択を行います。
※3の設定でデータベース名にtemplate1やpostgresを指定しているとスキーマは選択できますが、それ以降のオブジェクトが空になります

7.リバースエンジニアリングが実行され、メタデータが移行元DBから抽出されます。

8.移行するオブジェクトを選択します。
これもOracleの時と同様に移行対象と、それ以外とを指定します。

これ以降の流れはOracle移行の時と全く同一になります。移行のベースとするには恰好のツールですね。

ただし、現在Migration Toolkitでは明示的なpostgresqlサポートがないのでGeneric JDBCを使う形になっています。データタイプの移行などは自動成功する割合がOracle移行の時よりも少ないのが事実です。一度ツールで変換してから内容を変更していくか、Migration ToolkitのMigrationGeneric.javaに望ましいpostgresql→mysqlのデータマップ定義を埋め込んであげれば良いと思います。

投稿されたコメント:

コメント
コメントは無効になっています。

This blog copyright 2009 by naokitakemura