ऐसा लगता है कि आप अभी-अभी बनाए गए PostgreSQL डंप की वैधता और शुद्धता को सत्यापित करने का प्रयास कर रहे हैं।
आपकी मुख्य गलतफहमी यह है कि आपको डंप को उसी डेटाबेस में पुनर्स्थापित करने की आवश्यकता नहीं है जिससे आपने इसे बनाया था . आप उसी क्लस्टर पर किसी अन्य डेटाबेस को पुनर्स्थापित कर सकते हैं, या अतिरिक्त व्यामोह के लिए किसी अन्य क्लस्टर (सर्वर) पर एक डेटाबेस को पुनर्स्थापित कर सकते हैं। सत्यापित करें कि डंप बिना त्रुटि के बहाल हो गया है और डेटा वैसा ही है जैसा आप उम्मीद करते हैं।
अतिरिक्त व्यामोह के लिए, PostgreSQL सर्वर को रोकें और डेटा निर्देशिका में फ़ाइलों की प्रतिलिपि बनाएँ। इस तरह आपके पास फ़ाइल-स्तरीय बैकअप भी है। ध्यान दें कि PostgreSQL डेटा निर्देशिकाओं की फ़ाइल-स्तरीय प्रतियां केवल हो सकती हैं उसी प्लेटफॉर्म पर एक ही विकल्प के साथ निर्मित PostgreSQL के एक ही प्रमुख (8.1/8.2/...) संस्करण द्वारा पढ़ा जा सकता है - इसलिए, यदि डेटादिर विंडोज x64 पर 9.2.x से है, तो इसे केवल दूसरे विंडोज द्वारा पढ़ा जा सकता है x64 होस्ट 9.2.x स्थापित के साथ।
यदि आप अपने मूल डेटाबेस के बारे में चिंतित हैं तो शायद आपके पास बैकअप नहीं है। यह एक महत्वपूर्ण है संकट। आपको तुरंत जाकर बैकअप और पुनर्स्थापना पर दस्तावेज़ीकरण अध्याय पढ़ने की आवश्यकता है और एक अच्छा स्वचालित प्राप्त करें बैकअप योजना मौजूद है। barman पर एक नज़र डालें ।
प्रश्न संपादन के बाद अपडेट करें :
-F t
एक अजीब विकल्प है; सादा SQL डंप या -F c
आमतौर पर अधिक समझ में आता है।
आपके द्वारा बनाई गई फ़ाइल .gz
नहीं है (gzip संपीड़ित) फ़ाइल, वैसे भी, यह एक .tar
है संग्रह, संकुचित नहीं। इसे SQL फ़ाइलों से भरी निर्देशिका में निकाला जा सकता है।
इसका परीक्षण करने के लिए, pg_restore
. का उपयोग करें इसे createdb
. के साथ बनाए गए एक नए खाली डेटाबेस में पुनर्स्थापित करने के लिए या CREATE DATABASE
आदेश।