database - postgresql डेटाबेस में एसक्यूएल डंप आयात करें




(6)

आप इसे pgadmin3 में कर सकते हैं। स्कीमा को छोड़ दें जो आपके डंप में है। फिर डेटाबेस पर राइट-क्लिक करें और पुनर्स्थापित करें चुनें। फिर आप डंप फ़ाइल के लिए ब्राउज़ कर सकते हैं।

हम मेजबान स्विच कर रहे हैं और पुराने ने हमारी साइट के पोस्टग्रेस्क्ल डेटाबेस का एक एसक्यूएल डंप प्रदान किया है। अब मैं इसका परीक्षण करने के लिए इसे स्थानीय वैंप सेवर पर सेट करने की कोशिश कर रहा हूं।

एकमात्र समस्या यह है कि मुझे नहीं पता कि मैं इस डेटाबेस को पोस्टग्रेस्क्ल 9 में कैसे आयात कर सकता हूं, मैंने स्थापित किया है।

मैंने pgAdmin III की कोशिश की लेकिन मुझे 'आयात' फ़ंक्शन नहीं मिल रहा है। तो मैंने अभी एसक्यूएल एडिटर खोला और वहां डंप की सामग्री चिपका दी और इसे निष्पादित किया, यह टेबल बनाता है लेकिन जब मैं डेटा डालने की कोशिश करता है तो मैं मुझे त्रुटियां देता रहता हूं।

ERROR:  syntax error at or near "t"
LINE 474: t 2011-05-24 16:45:01.768633 2011-05-24 16:45:01.768633 view...

The lines:
COPY tb_abilities (active, creation, modtime, id, lang, title, description) FROM stdin;
t   2011-05-24 16:45:01.768633  2011-05-24 16:45:01.768633  view    nl ...  

मैंने कमांड प्रॉम्प्ट के साथ भी यह कोशिश की है, लेकिन मुझे वास्तव में वह आदेश नहीं मिल रहा है जिसकी मुझे आवश्यकता है।

यदि मैं करता हूँ

psql mydatabase < C:/database/db-backup.sql;

मुझे त्रुटि मिलती है

ERROR:  syntax error at or near "psql"
LINE 1: psql mydatabase < C:/database/db-backu...
        ^

डेटाबेस आयात करने का सबसे अच्छा तरीका क्या है?


कमांड लाइन में बहुत अच्छी तरह से काम करता है, सभी तर्क आवश्यक हैं, -W पासवर्ड के लिए है

psql -h localhost -U user -W -d database_name -f path/to/file.sql

मुझे यकीन नहीं है कि यह ओपी की स्थिति के लिए काम करता है, लेकिन मुझे पता चला कि इंटरैक्टिव कंसोल में निम्न आदेश चला रहा है मेरे लिए सबसे लचीला समाधान था:

\i 'path/to/file.sql'

बस सुनिश्चित करें कि आप पहले से ही सही डेटाबेस से जुड़े हुए हैं। यह आदेश निर्दिष्ट फ़ाइल में सभी SQL आदेश निष्पादित करता है।


मुझे विश्वास है कि आप psql में भागना चाहते हैं:

\i C:/database/db-backup.sql

यह मेरे लिए काम किया:

sudo -u postgres psql db_name < 'file_path'

यहां वह आदेश है जिसे आप ढूंढ रहे हैं।

psql -h hostname -d databasename -U username -f file.sql






postgresql