sql >> Base de Datos >  >> RDS >> Mysql

Convertir mysql binario a postgresql bytea

El equivalente de binary el tipo en MySQL es bytea en PostgreSQL.

Puedes usar pgloader (forma más sencilla)

Después de instalar pgloader, cree un script simple 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;

Ejecútelo en su terminal:

pgloader test.load

Otra forma es usando mysqldump

1. Volcarlo con la opción 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. Haz sed para que se te pueda insertar bytea tipo de columna

sed "s/0x\([0-9A-F]*\)/decode('\1','hex')/g" prepg.dump > pg.dump

3. Cargue en su tabla de PostgreSQL

\i '/path_to_file/pg.dump'

Referencia