2014-10-15 10 views
7

पर डंप को पुनर्स्थापित करें मुझे पोस्टग्रेस डीएमपी फ़ाइल के साथ अपनी मशीन मिल गई है, जिसे मैं अपने नेटवर्क में रिमोट वर्चुअल मशीन (जैसे आईपी 1 9 2.168.0.1 9 0 और पोस्टग्रेस पोर्ट 5432) पर पुनर्स्थापित करना चाहता हूं। रिमोट मशीन पर डंप की प्रतिलिपि किए बिना pg_restore का उपयोग करके इस डंप को पुनर्स्थापित करना संभव है? क्योंकि 12 जीबी डंप का आकार और वर्चुअल मशीन पर डिस्क स्पेस 20 जीबी है। धन्यवादरिमोट मशीन

उत्तर

13

आप रिमोट होस्ट पर डंप की प्रतिलिपि किए बिना नेटवर्क पर पुनर्स्थापित कर सकते हैं।

बस pg_restore-h <hostname> और -p <port> साथ आह्वान मेजबान आप डंप फ़ाइल मिल गया पर (और शायद -U <username> के रूप में विभिन्न उपयोगकर्ता को प्रमाणित करने के लिए), उदाहरण के लिए:

pg_restore -h 192.168.0.190 -p 5432 -d databasename -U myuser mydump.dump 

संदर्भ:

+0

हाँ, आप सही हैं। मैं इस तरह की कोशिश कर रहा हूँ pg_restore -i -h 192.168.1.190 -p 5432 -U postgres -d MFC_sara -v /home/develop/BD_Dumps/Saratov.dmp; लेकिन इस आदेश के बाद गंतव्य डेटाबेस के लिए कुछ पासवर्ड इनपुट करने की आवश्यकता है। और मुझे यह नहीं पता, वर्चुअल मशीन पर मैं सिर्फ डीबीबी बनाई गई है जैसे createb -T template0 MFC_sara –

+1

यदि आप किसी दूरस्थ मशीन से एक्सेस करना चाहते हैं तो आपको पासवर्ड प्रमाणीकरण (या कोई अन्य गैर-स्थानीय प्रमाणीकरण) की आवश्यकता होगी। उपयोगकर्ता बनाएं और डेटाबेस के लिए विशेषाधिकार असाइन करें। या यदि यह कोई उत्पादन वातावरण नहीं है, तो पासवर्ड के साथ एक सुपरसुर बनाएं: 'createuser -P -s someusername' – nif

0

आप "pg_restore" से पहले PGPASSWORD = "your_database_password" का उपयोग

2

वैकल्पिक रूप से अपनी स्क्रिप्ट में पासवर्ड पैरामीटर पारित कर सकते हैं, तो आप psql उपयोग कर सकते हैं:

psql -h 192.168.0.190 -p 5432 -d <dbname> -U <username> -W -f mydump.dump

0

एडब्ल्यूएस पर एक दूरस्थ आरडीएस उदाहरण के लिए एक उदाहरण

psql -h mydb.dsdreetr34.eu-west-1.rds.amazonaws.com -p 5432 -d mydbname -U mydbuser -W -f mydatabase-dump.sql 

    -f, --file=FILENAME  execute commands from file, then exit 
    -W, --password   force password prompt (should happen automatically) 
0

मैं इस चलाने के लिए और मेरे लिए काम करता है:

scp backup.dump [email protected]:~ 

    ssh [email protected] "pg_restore -h localhost -p 5432 -U databaseuser -W -F c -d databasename -v backup.dump" 

आप इसे स्वचालित करने के लिए एक स्क्रिप्ट लिख सकते हैं।

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