2009-04-30 10 views
23

क्या PostgreSQL 8.1 में डेटाबेस या स्कीमा की एक प्रति बनाने का कोई आसान तरीका है?PostgreSQL डेटाबेस या स्कीमा की एक प्रति कैसे बनाएं?

मैं कुछ सॉफ़्टवेयर का परीक्षण कर रहा हूं जो किसी डेटाबेस के भीतर किसी विशेष स्कीमा के लिए बहुत से अपडेट करता है, और मैं इसकी प्रतिलिपि बनाना चाहता हूं ताकि मैं मूल के विरुद्ध कुछ तुलना चला सकूं।

उत्तर

27

यदि यह एक ही सर्वर पर है, तो आप केवल टेम्पलेट पैरामीटर के साथ CREATE DATABASE कमांड का उपयोग करें। उदाहरण के लिए:

CREATE DATABASE newdb WITH TEMPLATE olddb; 
+8

यह डेटा को नए डेटाबेस में भी कॉपी करता है ... डेटा के बिना इसे करने के लिए कोई संबंधित विधि ??? –

+1

या '$ madeb -T olddb newdb' –

20

pg_dump--schema-only विकल्प के साथ।

+4

"वर्तमान" के साथ "7.4" बदलें और आपके पास नवीनतम संस्करण का लिंक है। – bortzmeyer

+0

मैंने अभी किया है कि – artm

0

बैक अप और पुनर्स्थापित करने के कुछ examples का लिंक यहां दिया गया है। आप किसी भिन्न सर्वर पर पुनर्स्थापित करने के लिए बैकअप का उपयोग कर सकते हैं या

8

आप किसी दूरस्थ डेटाबेस के लिए स्थानीय डेटाबेस से स्कीमा कॉपी करने के लिए है, तो आप निम्नलिखित दो विकल्पों में से एक का उपयोग कर सकते हैं।

विकल्प ए

  1. कॉपी एक डंप फ़ाइल के लिए स्थानीय डेटाबेस से स्कीमा।

    pg_dump -U postgres -Cs database > dump_file 
    
  2. स्थानीय सर्वर से दूरस्थ सर्वर पर डंप फ़ाइल की प्रतिलिपि बनाएँ।

    scp [email protected]:dump_file [email protected]:dump_file 
    
  3. दूरस्थ सर्वर से कनेक्ट करें।

    ssh [email protected] 
    
  4. स्कीमा को डंप फ़ाइल से दूरस्थ डेटाबेस में कॉपी करें।

    psql -U postgres database < dump_file 
    

विकल्प बी

कॉपी एक मध्यवर्ती फ़ाइल का उपयोग किए बिना दूरदराज के डेटाबेस के लिए स्थानीय डेटाबेस से स्कीमा सीधे।

pg_dump -h localhost -U postgres -Cs database | psql -h remotehost -U postgres database 

यह blog post यदि आप डेटाबेस pg_dump का उपयोग कर कॉपी करने के लिए विकल्पों के बारे में अधिक जानना चाहते हैं आप के लिए मददगार साबित हो सकता है।

+0

# 3 कहता है 'db_name' मौजूद नहीं है। पहले डीबी बनाने के बिना स्कीमा से बहाल करने का कोई तरीका है। –

+0

विकल्प ए ठीक काम करता है! धन्यवाद दोस्त –

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