การโอนย้ายระหว่างสอง DBMS แตกต่างกันมากต้องมีมากขึ้นกว่าเพียงแค่การโอนย้ายข้อมูล แต่การโยกย้ายข้อมูลมักเป็นส่วนที่ง่ายที่สุด
วิธีที่ฉันลองซึ่งฟรีและฉันสามารถยืนยันได้ว่ามันใช้งานได้:
- สร้างการถ่ายโอนข้อมูล schema mysql เท่านั้น
- ปรับ SQL โดยใช้โปรแกรมแก้ไขข้อความและค้นหาและแทนที่เป็นจำนวนมาก
- เรียกใช้ SQL ที่แปลงแล้วใน Postgres
- สร้างการถ่ายโอนข้อมูลข้อความธรรมดาจาก MySQL (เช่น CSV หรือรูปแบบที่มีตัวคั่นอื่น ๆ )
- นำเข้าข้อมูลโดยใช้คำสั่ง COPY ของ PostgreSQL
การนำเข้าข้อมูลอาจเป็นเรื่องยากหากคุณเชื่อมั่นในพฤติกรรมของ MySQL ในการรับข้อมูลที่ผิดกฎหมาย (เช่นวันที่ 31 กุมภาพันธ์)
ฉันเดาว่านี่จะเร็วกว่าการค้นหาเครื่องมือประเมินกลุ่มพวกเขาแล้วพยายามเข้าใจสิ่งที่คุณเลือก แต่มันก็ขึ้นอยู่กับว่า "ใหญ่" ประเภทใดที่คุณอ้างถึง หากตารางใหญ่มีหลายร้อยตารางอาจไม่สามารถทำได้ ถ้าใหญ่เพียงอ้างถึงจำนวนแถวนี่อาจเป็นวิธีที่เร็วที่สุดที่จะทำ
มีเครื่องมือบางอย่างออกมีที่สามารถถ่ายโอนข้อมูลคีมาฐานข้อมูลอยู่ใน DBMS อิสระ (XML) รูปแบบเช่นLiquibase , SchemaSpyหรือWbSchemaReport ด้วย Liquibase อาจเป็นวิธีที่ใช้ง่ายที่สุด คนอื่น ๆ จะต้องเขียนด้วยตนเอง / ขยาย XSLT เพื่อแปลง XML ที่สร้างขึ้น
หากคุณกำลังใช้และวิธีการเรียกเก็บไว้ใน MySQL, ผมไม่เชื่อว่าจะมีการใด ๆเครื่องมืออัตโนมัติที่สามารถแปลพวกเขาโดยไม่ต้องมีการแก้ไขคู่มือที่สำคัญหลังจากนั้น - และจากนั้นขั้นตอนที่สร้างขึ้นอาจจะไม่ใช้คุณสมบัติขั้นสูงใด ๆ ของ DBMS เป้าหมาย .