Mysql
 sql >> база данни >  >> RDS >> Mysql

Конвертирайте mysql binary в postgresql bytea

Еквивалентът на 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'

Справка



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Оптимизирайте MySQL заявката, за да избегнете Използването на where; Използване на временно; Използване на сортиране на файлове

  2. Как да променя динамично Limit в mySQL

  3. Как да извлечете данни от MySQL база данни в Excel

  4. LEFT JOIN в ZF2 с помощта на TableGateway

  5. mysql избира САМО дублиращи се записи от базата данни