binary
. के बराबर MySQL में टाइप करें bytea
PostgreSQL में।
आप pgloader का उपयोग कर सकते हैं (सबसे आसान तरीका)
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. इसे हेक्स-ब्लॉब विकल्प के साथ डंप करें
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'