2009-11-25 12 views
25

मैं एक खाली डेटाबेस पर, pg_dump बनाया गया SQL को निष्पादित करके PostgreSQL डेटाबेस को पुनर्स्थापित करने का प्रयास कर रहा हूं।PostgreSQL: डंप से डेटाबेस पुनर्स्थापन - वाक्यविन्यास त्रुटि

मैं इस त्रुटि हो रही है:

ERROR: syntax error at or near "\" 
LINE 5211: \. 

लाइनों 5210 और 5211 पढ़ने:

psql:

COPY auth_group (id, name) FROM stdin; 
\. 

यह मेरी Linux सर्वर, जहां मैं इस आदेश का उपयोग पर ठीक काम करता है -यू डीबीएनएन < dumpfile.sql

लेकिन विंडोज़ पर, मुझे यकीन नहीं है कि कैसे वही करें, इसलिए मैं pgAdminIII क्वेरी उपयोगिता से डंपफाइल के एसक्यूएल को चलाने का प्रयास कर रहा हूं।

विंडोज पर डंप से डीबी आयात करने का अनुशंसित तरीका क्या है? या: यह वाक्यविन्यास समस्या कैसे हल हो सकती है?

किसी भी मदद की बहुत सराहना की है!

मार्टिन

उत्तर

68

psql पर -f filename तर्क फ़ाइल में पढ़ा जाएगा, ताकि आप इसे में पाइप की जरूरत नहीं है। Psql खिड़कियों में PostgreSQL के बिन निर्देशिका में शामिल किया जाना चाहिए। इसलिए जैसा:

psql -d dbname -U username -f dumpfile.sql 

आप psql अगर यह अपने रास्ते पर नहीं है psql निष्पादन करने के लिए एक पूर्ण पथ शामिल करना पड़ सकता है, और संभव ऐड ".exe", तो यह "psql.exe" है।

यह भी सुनिश्चित करें कि आप संस्करण संख्या में नहीं जा रहे हैं, मैंने पहले वाक्यविन्यास के मुद्दों में भाग लिया है (उदाहरण के लिए 8.4 डेटाबेस निर्यात न करें और इसे 8.1 डेटाबेस में लोड करने का प्रयास करें)। यदि ऐसा है, तो आपको डंप फ़ाइल को मैन्युअल रूप से संपादित करना पड़ सकता है।

+1

dumpfile.sql यह मेरे लिए काम किया जब Navicat कि वाक्यविन्यास त्रुटियों के सभी प्रकार के फेंक दिया गया था के साथ एक डंप आयात करने की कोशिश के साथ प्रयास करें। यह ओएस एक्स के टर्मिनल से ठीक काम करता है। –

27

psql -d dbname यू उपयोगकर्ता -f

+0

धन्यवाद काई, मैं आपको कम से कम एक वोट दूंगा ..! – Hoff

संबंधित मुद्दे