2009-03-26 14 views
5

क्या मुझे हमेशा एक pg_dump फ़ाइल से पुनर्स्थापित करने के लिए डेटाबेस को हटाना है और फिर डेटाबेस बनाना है? यदि मैं डेटाबेस को नहीं हटाता, तो डेटा को पुनर्स्थापित किया जा रहा है डीबी में वर्तमान डेटा में जोड़ा जाता है भले ही कुछ रजिस्टर पहले से ही डेटाबेस में हैं (इसलिए डेटा डुप्लिकेट किया गया है)।पोस्टग्रेस्क्ल डेटाबेस को पुनर्स्थापित करना

उत्तर

6

आप pg_dump चलाते समय -c (--clean) विकल्प का उपयोग कर सकते हैं, इसलिए डंप में उचित DROP ... आदेश होंगे।

लेकिन आम तौर पर, मैं "मुश्किल तरीके से" जाने के लिए सुझाव है:

dropdb ... 
createdb ... 
psql -d ... -f dump.file 

इस तरह से आप सुनिश्चित करें कि कोई "बाएं ओवर" जो कुछ भी से डेटाबेस में पहले से था देखते हैं कि हैं।

+0

आपके समाधान के बारे में एक और अच्छी बात यह है कि आपको हटाए गए रिकॉर्ड्स की जगह पुनः प्राप्त करने के लिए एक वैक्यूम पूर्ण करने की आवश्यकता नहीं है। – bortzmeyer