अब मैं अपने MySQL डेटाबेस को PostgreSQL में माइग्रेट करने की प्रक्रिया में हूँ। लगभग सब कुछ ठीक हो गया (ठीक है, सही mysqldump params आदि के लिए बहुत से googling के बाद) मेरे पास एक टेबल को छोड़कर - वास्तव में मेरे ऐप में सबसे महत्वपूर्ण तालिका है।
तालिका संरचना बहुत सरल है:
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 जीबी)।
मैंने mysqldump के --hex-blob पैरामीटर का उपयोग करने की कोशिश की है - लेकिन इस प्रारूप में डेटा को PostgreSQL द्वारा स्वीकार नहीं किया जाता है जब मैंने कमांड फ़ाइल के रूप में डंपफाइल का उपयोग करने की कोशिश की थी। एक और विकल्प जो मैंने आजमाया है --tab विकल्प का उपयोग सिर्फ एक डंप पाने के लिए और फिर उसे COPg कमांड के साथ PostgreSQL में डालें - लेकिन --hex-blob --tab और PostgreSQL के साथ काम नहीं कर रहा है फिर भी डंपफाइल को वहां स्वीकार नहीं करता है इसमें अमान्य वर्ण हैं।
मुझे इस मामले में कोई सलाह मिलने पर बहुत खुशी होगी - हालाँकि मैं यह सोचना शुरू कर रहा हूं कि कस्टम माइग्रेशन टूल लिखना एक बुरा विचार नहीं है ...