समस्या यह है कि डंप pg_catalog.lowrite(integer, bytea)
फ़ंक्शन का उपयोग करता है बड़ी वस्तु बनाने के लिए, और डिफ़ॉल्ट सिंटैक्स कैसे bytea
PostgreSQL में शाब्दिक प्रतिनिधित्व 9.0 संस्करण के साथ बदल गया है।
पैरामीटर है bytea_output
जिसे escape
. पर सेट किया जा सकता है आउटपुट करने के लिए bytea
पुराने प्रारूप में बाद के PostgreSQL संस्करणों के साथ। काश, pg_dump
डंप बनाते समय उस पैरामीटर का सम्मान नहीं करता है, यह हमेशा "नया" hex
का उपयोग करता है प्रारूप।
नतीजा यह है कि 9.0 या बाद के पोस्टग्रेएसक्यूएल संस्करण से बड़ी वस्तुओं वाले डंप को प्री-9.0 डेटाबेस में पुनर्स्थापित नहीं किया जा सकता है।
आपको इन बड़े ऑब्जेक्ट्स को किसी अन्य तरीके से स्थानांतरित करना होगा, शायद माइग्रेशन प्रोग्राम लिखकर।
आप (pgsql-hackers मेलिंग सूची पर) pg_dump
के लिए एक विकल्प प्रस्तावित कर सकते हैं जो bytea_escape
. सेट करने की अनुमति देता है डंप के लिए, लेकिन आपको प्रतिरोध का सामना करना पड़ सकता है, क्योंकि बाद के पोस्टग्रेएसक्यूएल संस्करण से पुराने संस्करण में डंप को पुनर्स्थापित करना समर्थित नहीं है।