人気記事

広告

記事検索

MOVION.netについて

WEB技術に関することや、気になるWEBサイトなどについて個人的なメモを残すためのブログです。

その他運営サイト

かかわっているサイト

PostgreSQLのエクスポートデータをMySQLにインポートする

も参照してください。(2008/04/16追記)

最近PostgreSQLにはご無沙汰してますが、
PostgreSQLのエクスポートデータをMySQLにインポートしてみました。
かつ、微妙にPostgreSQLとMySQLのカラムが異なってる場合の手順です。

PostgreSQLの以下のテーブルのデータをエクスポートし、

  1. CREATE TABLE items (
  2. item_id SERIAL PRIMARY KEY,
  3. name VARCHAR(50),
  4. price INTEGER,
  5. color VARCHAR(20),
  6. createtime timestamp NOT NULL DEFAULT current_timestamp,
  7. delete_flag CHAR(1)
  8. );

PostgreSQLでエクスポートしたファイルをMySQLの以下のテーブルにインポートします。
status_flagカラムが追加されています。

  1. CREATE TABLE items (
  2. item_id INTEGER NOT NULL AUTO_INCREMENT,
  3. name VARCHAR(50),
  4. price INTEGER,
  5. color VARCHAR(20),
  6. status_flag INTEGER,
  7. createtime DATEMTIME
  8. delete_flag CHAR(1)
  9. );

まずは、PostgreSQLのデータをtsvファイルでエクスポートします。

  1. su postgres
  2. psql  sampledb
  3. —-
  4. sampledb=#COPY items TO ‘/home/postgres/items.tsv’;
  5. —-

次に、MySQLでインポートします。

  1. su takahashi
  2. mysql -u root -p sampledb
  3. —-
  4. mysql>LOAD DATA INFILE "/home/postgres/items.tsv" INTO TABLE items FIELDS TERMINATED BY \t (item_id,name,price,color,createtime,delete_flag);
  5. —-

もちろん、元になかったカラムのデータ(ここではstatus_flag)は入りません。
手段は他にもいろいろあると思います。
あと、うまくいかないデータもあるかもしれません。

add to hatena hatena.comment add to del.icio.us add to livedoor.clip add to Yahoo!Bookmark

この記事にはまだコメントがついていません。

Comment Feed Comment feed for this entry

Trackback URI :

コメントをどうぞ

段落や改行は自動挿入です。メールアドレスはサイト上では非表示です。