जब मैं अपने डेटाबेस के बड़े डेटाबेस (लगभग 32Go कस्टम प्रारूप में) को पुनर्स्थापित करने का प्रयास करता हूं तो मुझे थोड़ा समस्या मिलती है (इस नोड में मेरे उत्पादन की तुलना में कम रैम, सीपीयू है ... सर्वर)।PostgreSQL - बहुत बड़े डेटाबेस को पुनर्स्थापित कैसे करें
मेरे डेटाबेस डंप एक कमांड के समान के साथ उत्पन्न कर रहे हैं:
pg_restore -F custom -j 5 -d myDB /backup/myDB-20130331.pg91
लेकिन यहाँ, हर बार बहाल आदेश विफल रहा:
pg_dump -F custom -b myDB -Z 9 > /backup/myDB-`date +%y%m%d`.pg91
और जब मैं इसे बहाल, मैं निम्न आदेश का इस्तेमाल किया एक त्रुटि के साथ:
pg_restore: [archiver (db)] error returned by PQputCopyData: server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
pg_restore: [archiver] worker process failed: exit code 1
pg_restore: [archiver (db)] error returned by PQputCopyData: server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
pg_restore: [archiver (db)] error returned by PQputCopyData: server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
pg_restore: [archiver (db)] error returned by PQputCopyData: server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
और जब मैं अपने पोस्टग्रेस्क्ल लॉग की जांच करता हूं, तो मैं इसे पढ़ सकता हूं:
HINT: In a moment you should be able to reconnect to the database and repeat your command.
LOG: all server processes terminated; reinitializing
LOG: database system was interrupted; last known up at 2013-04-02 11:41:48 UTC
LOG: database system was not properly shut down; automatic recovery in progress
LOG: redo starts at 86/26F302B0
LOG: unexpected pageaddr 85/E3F52000 in log file 134, segment 38, offset 16064512
LOG: redo done at 86/26F51FC0
LOG: last completed transaction was at log time 2013-04-02 11:50:47.663599+00
LOG: database system is ready to accept connections
LOG: autovacuum launcher started
यह काफी अजीब बात है, मेरे पोस्टग्रेस्क्ल सर्वर केवल मेरे पुनर्स्थापन के कारण अकेले "पुनः प्रारंभ" है। मैं नौकरियों की संख्या को कम करने की कोशिश करता हूं (-j 5
विकल्प) लेकिन फिर भी वही समस्या है। हालांकि बेहतर चश्मा वाले नोड पर, मुझे इस डेटाबेस को पुनर्स्थापित करने में कोई समस्या नहीं है। मुझे यकीन नहीं है लेकिन शायद मेरे सूचकांक के अपडेट (उनमें से एक वास्तव में बहुत बड़ा है) इस मुद्दे को समझने के लिए एक सुराग हो सकता है?
तो मेरे पास कुछ प्रश्न हैं: क्या वास्तव में बड़े डेटाबेस को पुनर्स्थापित करने का एक बेहतर तरीका है? क्या मुझे अपने pg_restore कमांड में कुछ याद आती है? मेरे डेवेल सर्वर की सेटिंग्स बहुत कम हो सकती है?
किसी भी सुराग की सराहना की जाएगी। अग्रिम धन्यवाद।
env: PostgreSQL 9.1
बैकएंड दुर्घटना की तरह दिखता है, लेकिन आपको वास्तव में निश्चित रूप से कहने के लिए या क्यों जानना है, इसके लिए आपको अधिक लॉग दिखाने की आवश्यकता होगी। –
हाय @ क्रेग्रिंजर, क्या आप मुझे यह समझने के लिए लॉग वर्कोज़ बनाने के लिए सुझाव देते हैं कि क्या हो रहा है? ठीक है, मैं इसे करने की कोशिश करूंगा और अधिक जानकारी देखने की उम्मीद करूंगा – Labynocle
आप फिर से 5 से 2 तक की नौकरियों की संख्या को भी कम कर सकते हैं। इसमें अधिक समय लगता है, लेकिन आपके विकास नोड पर कम मांग हो सकती है। – thisfeller