MySQL -> PostgreSQL データ移行

SIPosted by

どうもSIです。

 

最近業務でmysqlからpostgresqlに移行作業を実施したので簡単にメモを残しておこうかと思います。

 

環境/事前準備

・XOS

mysql2pgsql

mysqlのバックアップ※mysql.sql,mysql.dump等

 

①任意の場所に作業用フォルダを作成

>mkdir Desktop/workspace

②mysql2pgsql,mysqlのバックアップを①で作成したフォルダに保存する。

今回はバックアップを用意できなかったのでリンクからtest.sqlを利用します。

>cd Downloads/

>mv test.sql /Users/<<user_name>>/Desktop/workspace/

>mv mysql2pgsql.perl /Users/<<user_name>>/Desktop/workspace/

③①で作成した作業フォルダに移動

cd /Users/<<user_name>>/Desktop/workspace/

④test.sqlの変換

>./mysql2pgsql.perl test.sql postgresql.sql

以下の様に変換 logがターミナル上に出ていれば正常に動いています

table “rhm_host_info” will be dropped CASCADE

“rhm_host_info_id_seq”–

table “rhm_host_info” will be dropped CASCADE

“rhm_host_info_id_seq”–

table “account” will be dropped CASCADE

table “folder” will be dropped CASCADE

table “ownerx” will be dropped CASCADE

table “timestamp_check” will be dropped CASCADE

table “test” will be dropped CASCADE

table “phpchara_answers” will be dropped CASCADE

table “bb_posts” will be dropped CASCADE

table “bbschool_posts” will be dropped CASCADE

table “cpg_dict” will be dropped CASCADE

table “cpg_filetypes” will be dropped CASCADE

table “t” will be dropped CASCADE

table “osc_products” will be dropped CASCADE

table “one_insert_check” will be dropped CASCADE

table “chars_insert_check” will be dropped CASCADE

table “float_check” will be dropped CASCADE

以上です。

 

未確認ですがdumpでも変換できる様です。

>./mysql2pgsql.perl test.dump postgresql.dump

 

また、Windowsで変換する場合はPerlスクリプトが使える状況か確認してください

コマンドプロンプト上で

>perl -v

バージョンが帰って来れば使える状態です

>perl mysql2pgsql.perl test.sql postgresql.sql

で変換できるかと思います。

 

以上、mysql->posqgresql 変換でした〜

Leave a Reply

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA