सबसे पहले, मैं एक डेवलपर हूं, डीबीए या सिसाडमिन नहीं; कृपया सभ्य रहिये :)
मैं एक एप्लिकेशन वर्कफ़्लो पर काम कर रहा हूं, जहां एक एकल उपयोगकर्ता कार्रवाई डेटाबेस में जटिल बदलावों को ट्रिगर करेगी - कुछ तालिकाओं में सैकड़ों रिकॉर्ड बनाना, दूसरों में सैकड़ों रिकॉर्ड अपडेट करना, आदि सभी में, लगभग 12 टेबल (~ 100 में से) ) इस क्रिया द्वारा छुआ जाता है। जटिलता के कारण, मेरे द्वारा किसी अन्य परीक्षण को चलाने से पहले सभी परिवर्तनों को मैन्युअल रूप से वापस करना मेरे लिए बहुत कठिन है। अपने अधिकांश विकास समय के दौरान, मैं केवल वर्कफ़्लो के अंत के पास एक "रोलबैक" कथन सम्मिलित कर सकता हूं, लेकिन जब मैं अपने परिवर्तनों को शुरू करने के करीब पहुंचता हूं, तो मुझे वास्तविक चीज़ का परीक्षण करने की आवश्यकता होती है।
मेरे पास काम करने के लिए उत्पादन डेटाबेस की एक स्थानीय प्रति है। मेरे मामले में, सभी परिवर्तनों को पूर्ववत् करने के लिए स्क्रिप्ट लिखने से परीक्षण के बीच डंपिंग और बहाल करना अधिक तेज़ है। यह तेज़ है, लेकिन यह अभी भी मुझे बहुत धीमा कर रहा है (पुनर्स्थापना मेरी उम्र बढ़ने के लैपटॉप पर लगभग 20 मिनट लगते हैं)। क्या कोई तरीका है जो मैं डेटाबेस की वर्तमान स्थिति का एक स्नैपशॉट बचा सकता हूं, और फिर इसे जल्दी से बहाल कर सकता हूं?
मुझे सिस्टम पर एकमात्र उपयोगकर्ता होने की गारंटी है, और मेरे पास रूट एक्सेस है। डेटाबेस डंप ~ 100MB है जब tar'ed और gzip'ed। PostgreSQL संस्करण 8.3 है।
किसी भी उपयोगी विचारों के लिए अग्रिम धन्यवाद।