Das Äquivalent von binary
Typ in MySQL ist bytea
in PostgreSQL.
Sie können pgloader verwenden (einfachster Weg)
Erstellen Sie nach der Installation von pgloader das einfache Skript 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;
Führen Sie es in Ihrem Terminal aus:
pgloader test.load
Eine andere Möglichkeit ist die Verwendung von mysqldump
1. Dump es mit der Hex-Blob-Option
mysqldump -u username -p -h host --skip-quote-names --hex-blob --skip-triggers \
--compact --no-create-info your_db your_table > prepg.dump
2. Tun Sie sed, damit es in Ihr bytea
eingefügt werden kann Spalte eingeben
sed "s/0x\([0-9A-F]*\)/decode('\1','hex')/g" prepg.dump > pg.dump
3. In Ihre PostgreSQL-Tabelle laden
\i '/path_to_file/pg.dump'