ऐसा लगता है कि आपको pg_dump
. से बाइनरी डंप के बजाय SQL डंप मिल रहा है . यह आपको डेटा को पुनः लोड करने के लिए INSERTs के एक समूह के बाद शीर्ष पर स्कीमा (FK सहित) के साथ SQL का एक बड़ा ढेर देगा। <से एक बाइनरी डंप कोड>pg_dump
आपकी बेहतर सेवा करेगा, ऐसा लगता है कि PhpPgAdmin को यह बताने के लिए आपको कुछ अतिरिक्त कॉन्फ़िगरेशन की आवश्यकता है जहां pg_dump
है। फिर आप उस बाइनरी डंप को pg_restore
. में फीड करेंगे और pg_restore
रेफ़रेंशियल अखंडता मुद्दों (या, अधिक सटीक रूप से, pg_restore
से बचने के लिए उचित क्रम में सब कुछ पुनर्निर्माण करेगा सभी डेटा को पुनर्स्थापित करेगा फिर बाधाओं को जोड़ देगा)।
PhpPgAdmin ऐसा लगता है सादे SQL डंप के साथ काम करें
के बजाय pg_restore
. मुझे इस पर विश्वास करना कठिन लगता है लेकिन मुझे pg_restore
को लागू करने के बारे में दस्तावेज़ीकरण में कुछ भी नहीं मिल रहा है . अगर यह सच है तो आपको शायद SQL डंप को हाथ से संपादित करना होगा और सभी FK को अंत तक ले जाना होगा।
आप SET CONSTRAINTS ALL DEFERRED;
आपके SQL डंप के शीर्ष पर, जिससे लेन-देन के अंत तक बाधा जाँच में देरी होनी चाहिए, आप यह भी सुनिश्चित करना चाहेंगे कि INSERTs का पूरा ब्लॉक लेन-देन के भीतर समाहित हो।
अगर PhpPgAdmin वास्तव में pg_restore
invoke का आह्वान नहीं कर सकता है तो आप pg_dump
. का उपयोग करके बेहतर तरीके से उपयोग कर सकते हैं और pg_restore
हाथ से ताकि आपके पास अपनी बैकअप प्रक्रियाओं पर आवश्यक नियंत्रण हो। क्षमा करें, लेकिन कोई भी डेटाबेस व्यवस्थापक उपकरण जो FK के साथ डेटाबेस का बैकअप लेने में सक्षम नहीं है, बेकार से भी बदतर है। उम्मीद है कि कोई व्यक्ति जो PhpPgAdmin के आसपास अपना रास्ता जानता है वह दिखाएगा और हमें बताएगा कि pg_restore
का उपयोग कैसे करें PhpPgAdmin के साथ।