जवाबों:
आप pg_dump
इस तरह का उपयोग कर सकते हैं :
$ pg_dump -h db_host -U user_name db_name > dump_file.sql
कृपया .pgpass
फ़ाइल को सेट करने के लिए पहले सोचें , जिसमें पासवर्ड का उपयोग किया जाए यदि कनेक्शन के लिए पासवर्ड की आवश्यकता हो। इस फ़ाइल में निम्न प्रारूप की लाइनें होनी चाहिए:
hostname:port:database:username:password
और पहले चार क्षेत्रों में से प्रत्येक का शाब्दिक मूल्य हो सकता है, या *, जो किसी भी चीज से मेल खाता है। उदाहरण के लिए *:*:*:postgres:pg_password
:।
इस .pgpass
फ़ाइल को होम डायरेक्टरी में रहना चाहिए ~ / और इस पर अनुमति दुनिया या समूह के लिए किसी भी पहुँच को अस्वीकार करना चाहिए; आज्ञा द्वारा इसे प्राप्त करें
chmod 0600 ~/.pgpass
।
Cg से pg_dumpall चलाएं।
AutoPostgreSQLBackup का प्रयास करें । यह एक एकल स्क्रिप्ट फ़ाइल है, इसे आसानी से अपनी आवश्यकताओं के लिए कॉन्फ़िगर किया जा सकता है, दैनिक, साप्ताहिक और मासिक शेड्यूलिंग, प्रति ईमेल लॉग, लॉग फ़ाइल या स्टडआउट, आदि।
यदि यह एक उचित रूप से छोटा डेटाबेस है, और दिन में एक बार बैकअप की इतनी कम आवश्यकताएं हैं, तो बस एक स्थानीय फ़ाइल को डंप करने के लिए क्रॉन से pg_dump चलाएं, और फिर डंप को दूर करने के लिए मशीन पर फ़ाइलों का बैकअप लेने के लिए जो कुछ भी आपके पास है उसका उपयोग करें ।
एस्ट्रिल्स-सेफ़ की कोशिश करें । यह जानता है कि बैकअप mysql (mysqldump), पोस्टग्रेज (pg_dump), या एन्क्रिप्शन (gnupg) के साथ सिर्फ सादे फ़ाइलों (टार) और S3 / Sftp पर कैसे अपलोड किया जाता है।
pg_dump एक अच्छा समाधान है, लेकिन यदि आप बहुत सारे डेटा का बैकअप लेने की कोशिश कर रहे हैं, तो शायद यह मदद कर सकता है:
http://www.postgresql.org/docs/8.1/static/backup-online.html
जो वास्तव में 'रॉ' लॉगिंग का एक प्रकार है, लेकिन यह एक वृद्धिशील बैकअप विधि के रूप में उपयोगी हो सकता है ...
यह एक स्क्रिप्ट है जो प्रत्येक डेटाबेस को व्यक्तिगत रूप से बैकअप देगी और साथ ही साथ अक्सर भूल जाते हैं लेकिन महत्वपूर्ण पोस्टग्रेक्यूएल GLOBALS और उपयोगकर्ता लॉगिन जानकारी।
इसका महत्व संपीड़न का लाभ उठाना है जो pg_dumpall प्रदान नहीं करता है और pg_dump को अनदेखा करने वाले डेटा को भूल जाता है।
इसके लिए यहाँ एक pgpass या इसी तरह के सेटअप की आवश्यकता होगी जैसा कि यहाँ वर्णित है http://wiki.postgresql.org/wiki/Pgpass
यह OSX के लिए सेटअप है, लेकिन बस प्रोग्राम पथ को बदलें और यह ठीक काम करेगा।
/ Sqlbackups पर वापस जाता है। स्क्रिप्ट निर्देशिका आकार / निर्देशिका को वापस कर देगी और इसमें ब्रेकपॉइंट होते हैं जो विफल होने पर गैर शून्य स्थिति लौटाएगा। मैंने इसे दैनिक बैकअप करने के लिए pgAgent के संयोजन में उपयोग किया।
स्क्रिप्ट फिर से तैयार, खेद है कि :(
जब आप आसानी से बर्मन के साथ पॉइंट-इन-टाइम रिकवरी कर सकते हैं, तो एक दैनिक बैकअप के साथ क्यों निपटें ?
जैसा कि दूसरों ने कहा है: pg_dumpall
इसके अलावा, लॉग शिपिंग पर एक नज़र डालें। फिर आप अधिक पॉइंट-इन-टाइम बैकअप प्राप्त कर सकते हैं, जिसे आप वापस खेल सकते हैं: http://www.postgresql.org/docs/8.3/static/runtime-config-wal.html
या मैनुअल में बैकअप पर अनुभाग के बारे में कैसे: