Еквивалентът на binary
типът в MySQL е bytea
в PostgreSQL.
Можете да използвате ploader (най-лесният начин)
След като инсталирате 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. Направете sed, за да може да ви бъде вмъкнат bytea
тип колоната
sed "s/0x\([0-9A-F]*\)/decode('\1','hex')/g" prepg.dump > pg.dump
3. Заредете във вашата PostgreSQL таблица
\i '/path_to_file/pg.dump'