एक फ्लैट एसक्यूएल डंप उत्पन्न करने के लिए usepg_dump
का एक तरीका है, जिसे आप gzip या जो कुछ भी कर सकते हैं। यह निश्चित रूप से सबसे आसान विकल्प है, क्योंकि परिणामों को डेटाबेस को फिर से लोड करने के लिए psql
में वापस पाइप किया जा सकता है, और चूंकि यह सादे पाठ के रूप में भी निर्यात कर सकता है, यदि आवश्यक हो तो पुनर्स्थापित करने से पहले आप डेटा को देख या संपादित कर सकते हैं।
अगली विधि अस्थायी रूप से अपने डेटाबेस को बंद करने के लिए है (या अपने फाइल सिस्टम परमाणु स्नैपशॉट, सिद्धांत रूप में काम कर सकते हैं कि समर्थन करता है) और backup अपने PostgreSQL data
निर्देशिका।
This पोस्टग्रेएसक्यूएल साइट से पृष्ठ यह भी बताता है कि ऑनलाइन बैकअप और पॉइंट-इन-टाइम रिकवरी कैसे करें, जो निश्चित रूप से कॉन्फ़िगर करना सबसे कठिन है, लेकिन इष्टतम विधि भी है। विचार यह है कि आप कुछ विशेष एसक्यूएल (pg_start_backup
और pg_stop_backup
) चलाकर बेस बैकअप (जो आप हर दिन, कुछ दिन या सप्ताह कर सकते हैं) कर सकते हैं और अपनी डेटाबेस निर्देशिका की एक (फाइल सिस्टम-स्तर) प्रतिलिपि बना सकते हैं। डेटाबेस इस समय के दौरान ऑफ़लाइन नहीं जाता है, और सबकुछ अभी भी सामान्य के रूप में काम करता है। तब से, डेटाबेस किसी भी बदलाव के एक लिखें आगे लॉग (वाल) उत्पन्न करता है, जिसे तब भी धक्का दिया जा सकता है (स्वचालित रूप से, डेटाबेस द्वारा) जहां भी आप चाहते हैं। पुनर्स्थापित करने के लिए, आप बेस बैकअप लेते हैं, इसे किसी अन्य डेटाबेस इंस्टेंस में लोड करते हैं, फिर बस सभी WAL फ़ाइलों को फिर से चलाएं। इस तरह आप सभी लॉग को दोबारा नहीं चलाकर पॉइंट-इन-टाइम वसूली भी कर सकते हैं।
स्रोत
2009-08-03 08:59:06
परमाणु स्नैपशॉट का उपयोग सिर्फ "सिद्धांत रूप में काम कर सकते हैं" यह नहीं है कि बैकअप
पढ़ें पुनर्स्थापित करने के लिए। यह पूरी तरह से ठीक काम करता है। लेकिन उन्हें * सभी * फाइल सिस्टमों पर परमाणु होने की आवश्यकता है जो PostgreSQL के पास pg_xlog निर्देशिका सहित डेटा है। –
मैं आमतौर पर अपने बैकअप करने के लिए pg_dump का उपयोग करता हूं, लेकिन मैं एक पूर्ण समाधान की तलाश में था जो घुमावदार बैकअप बनाने के लिए pg_dump का उपयोग करता था, जैसे http://sourceforge.net/projects/automysqlbackup/। यदि स्क्रिप्ट ऑनलाइन बैकअप का उपयोग करती है तो यह बेहतर होगा, लेकिन मुझे लगता है कि इसे स्वयं करना मुश्किल नहीं होगा और इसे लॉन्चपैड या कहीं पर रखना मुश्किल नहीं होगा। आपके उत्तर के लिए धन्यवाद। –
सार्वजनिक कुंजी/पासवर्ड एन्क्रिप्शन, रोटेशन, और एस 3 पर अपलोड के साथ pg_dump बैकअप करने के स्वचालित तरीके से सुरक्षित जांचें: http://github.com/astrails/safe –