Mysql
 sql >> Database >  >> RDS >> Mysql

Converti mysql binary in postgresql bytea

L'equivalente di binary digitare in MySQL è bytea in PostgreSQL.

Puoi utilizzare pgloader (modo più semplice)

Dopo aver installato pgloader, crea un semplice script 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;

Eseguilo nel tuo terminale:

pgloader test.load

Un altro modo è usare mysqldump

1. Scaricalo con l'opzione 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. Fate in modo che vi possa essere inserito bytea tipo colonna

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

3. Carica nella tua tabella PostgreSQL

\i '/path_to_file/pg.dump'

Riferimento