ตอนนี้ฉันกำลังย้ายฐานข้อมูล MySQL ไปยัง PostgreSQL เกือบทุกอย่างเป็นไปด้วยดี (ดีหลังจาก googling มากมายสำหรับ mysqldump params และอื่น ๆ ) ยกเว้นตารางเดียวที่ฉันมี - จริง ๆ แล้วเป็นตารางที่สำคัญที่สุดในแอปของฉัน
โครงสร้างตารางง่ายมาก:
mysql> show create table samples;
.. skipped ...
CREATE TABLE `samples` (
`File_ID` int(11) NOT NULL,
`File` longblob,
PRIMARY KEY (`File_ID`)
) ENGINE=InnoDB DEFAULT CHARSET=binary
แต่มันมีขนาดใหญ่มาก (> 20 Gb)
ฉันพยายามใช้ --hex-blob พารามิเตอร์ของ mysqldump - แต่ข้อมูลในรูปแบบนี้ไม่ได้รับการยอมรับจาก PostgreSQL เมื่อฉันพยายามใช้ dumpfile ที่ได้เป็นไฟล์คำสั่ง อีกตัวเลือกหนึ่งที่ฉันลองใช้คือ - ตัวเลือก tab เพียงรับดัมพ์แล้วแทรกลงใน PostgreSQL ด้วยคำสั่ง COPY - แต่ --hex-blob ไม่ทำงานกับ --tab และ PostgreSQL ยังไม่ยอมรับ dumpfile ที่บอกว่ามี เป็นอักขระที่ไม่ถูกต้อง
ฉันยินดีเป็นอย่างยิ่งที่จะได้รับคำแนะนำเกี่ยวกับเรื่องนี้ - แม้ว่าฉันจะเริ่มคิดว่าการเขียนเครื่องมือการย้ายข้อมูลแบบกำหนดเองไม่ใช่ความคิดที่ไม่ดีเลย ...