O equivalente a
binary
tipo no MySQL é bytea
no PostgreSQL. Você pode usar o pgloader (maneira mais simples)
Depois de instalar o pgloader, crie um script simples
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;
Execute-o no seu terminal:
pgloader test.load
Outra maneira é usar
mysqldump
1. Descarte-o com a opção 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. Faça sed para que possa ser inserido em você
bytea
coluna de tipo sed "s/0x\([0-9A-F]*\)/decode('\1','hex')/g" prepg.dump > pg.dump
3. Carregue em sua tabela PostgreSQL
\i '/path_to_file/pg.dump'
Referência