के एक नए संस्करण से पुनर्स्थापित करने के लिए pg_restore का उपयोग करें मेरे पास एक (उत्पादन) डीबी सर्वर PostgreSQL v9.0 चल रहा है और एक विकास मशीन PostgreSQL v8.4 चल रही है। मैं उत्पादन डीबी का डंप लेना चाहता हूं और इसे विकास मशीन पर इस्तेमाल करना चाहता हूं। मैं देव मशीन पर पोस्टग्रेज़ को अपग्रेड नहीं कर सकता।PostgreSQL
उत्पादन मशीन पर, मैं चलाएँ:
pg_dump -f nvdls.db -F p -U nvdladmin nvdlstats
विकास मशीन पर, मैं चलाएँ:
pg_restore -d nvdlstats -U nvdladmin nvdls.db
और मैं यह त्रुटि आई:
pg_restore: [archiver] unsupported version (1.12) in file header
यह तब होता है, भले ही डंपिंग करते समय मैं कस्टम, टैर, या plain_text प्रारूप का चयन करता हूं या नहीं।
मुझे one discussion online मिला जो बताता है कि मुझे देव मशीन पर pg_restore
का एक नया संस्करण उपयोग करना चाहिए। मैंने 9.0 बाइनरी को देव मशीन पर कॉपी करके इसे आजमाया, लेकिन यह लिंकिंग समस्याओं के कारण विफल रहता है (अप्रत्याशित रूप से नहीं)।
मैंने सोचा कि सादा_टेक्स्ट डंप का उपयोग करने का बिंदु यह था कि यह कच्चा, पोर्टेबल एसक्यूएल होगा। जाहिरा तौर पर नहीं।
मैं अपने 8.4 इंस्टॉल में 9.0 डीबी कैसे प्राप्त कर सकता हूं?
आप दोनों 8.4 और 9.0 साथ में चल रहे (है कि मैं क्या कर रहा है, यह ठीक काम करता है), इस तरह आप स्थानीय परियोजनाओं है कि यह इस पर निर्भर के लिए 8.4 रख सकते हो सकता था, फिर भी है कि एक appplication 9 का उपयोग करता है के लिए 9.0 है : लंबे समय पर, यह बेहतर की तुलना में एक अलग संस्करण से एक डंप बहाल करने की कोशिश बंद का भुगतान करेगा। – wildpeaks
[निर्यात और pgAdmin III के साथ PostgresSQL का आयात] (http://stackoverflow.com/a/39167526/1045444) –