binary
に相当 MySQLのタイプはbytea
です PostgreSQLで。
pgloader を使用できます (最も簡単な方法)
pgloaderをインストールした後、簡単なスクリプトtest.load
を作成します
load database
from mysql://username:[email protected]/database_name
into postgresql://postgres:[email protected]/database_name
WITH include drop, create tables, create indexes, reset sequences
SET maintenance_work_mem to '128MB',
work_mem to '12MB'
CAST type binary TO bytea drop typemod using byte-vector-to-bytea;
ターミナルで実行します:
pgloader test.load
別の方法は、mysqldump
を使用することです
1。 hex-blobオプションでダンプします
mysqldump -u username -p -h host --skip-quote-names --hex-blob --skip-triggers \
--compact --no-create-info your_db your_table > prepg.dump
2。 bytea
に挿入できるようにsedを実行してください 列を入力
sed "s/0x\([0-9A-F]*\)/decode('\1','hex')/g" prepg.dump > pg.dump
3。 PostgreSQLテーブルにロードする
\i '/path_to_file/pg.dump'