PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

कमांड लाइन का उपयोग करके पोस्टग्रेज बैकअप फ़ाइल को पुनर्स्थापित करें?

आपने डंप फ़ाइल कैसे बनाई, इसके आधार पर देखने के लिए दो उपकरण हैं।

आपके संदर्भ का पहला स्रोत मैन पेज होना चाहिए pg_dump(1) क्योंकि वही डंप खुद बनाता है। यह कहता है:

<ब्लॉकक्वॉट>

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

वैकल्पिक संग्रह फ़ाइल स्वरूपों का उपयोग डेटाबेस के पुनर्निर्माण के लिए pg_restore(1) के साथ किया जाना चाहिए। वे pg_restore को पुनर्स्थापित करने के बारे में चयनात्मक होने की अनुमति देते हैं, या यहां तक ​​कि पुनर्स्थापित होने से पहले आइटम को पुन:व्यवस्थित करने के लिए भी। संग्रह फ़ाइल स्वरूप सभी आर्किटेक्चर में पोर्टेबल होने के लिए डिज़ाइन किए गए हैं।

तो यह इस बात पर निर्भर करता है कि इसे किस तरह से डंप किया गया था। आप शायद बेहतरीन file(1) . का उपयोग करके इसका पता लगा सकते हैं आदेश - यदि इसमें ASCII पाठ और/या SQL का उल्लेख है, तो इसे psql . के साथ पुनर्स्थापित किया जाना चाहिए अन्यथा आपको शायद pg_restore . का उपयोग करना चाहिए

पुनर्स्थापित करना बहुत आसान है:

psql -U username -d dbname < filename.sql

-- For Postgres versions 9.0 or earlier
psql -U username -d dbname -1 -f filename.sql

या

pg_restore -U username -d dbname -1 filename.dump

उनके संबंधित मैनपेज देखें - काफी कुछ विकल्प हैं जो प्रभावित करते हैं कि पुनर्स्थापना कैसे काम करती है। आपको अपने "लाइव" डेटाबेस को साफ़ करना पड़ सकता है या उन्हें पुनर्स्थापित करने से पहले टेम्पलेट0 (जैसा कि एक टिप्पणी में बताया गया है) से फिर से बनाना पड़ सकता है, यह इस बात पर निर्भर करता है कि डंप कैसे उत्पन्न हुए थे।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. क्या मुझे c3p0 स्टेटमेंट पूलिंग सक्रिय करनी चाहिए?

  2. एकल क्वेरी में एकाधिक सीटीई

  3. पोस्टग्रेज में तालिका के लिए क्वेरी अनुदान

  4. JDBC प्रकार के लिए कोई बोली मानचित्रण नहीं:2003

  5. django.db.utils.ProgrammingError:संबंध पहले से मौजूद है