के बारे में PostgreSQL 9.1 pg_restore त्रुटि मैं django प्रोजेक्ट के लिए पोस्टग्रेस का उपयोग कर रहा हूं और मैं वर्तमान में डेटाबेस बैकअप/पुनर्स्थापना प्रणाली को कार्यान्वित कर रहा हूं, जितना संभव हो सके उपयोगकर्ता पीजी_डम्प करता है जब उपयोगकर्ता बैकअप पर क्लिक करता है और फिर बैकअप पुनर्स्थापित करने पर pg_restore करता है।PLGGSQL
pg_restore: [archiver (db)] Error from TOC entry 3206; 0 0 COMMENT EXTENSION plpgsql pg_restore: [archiver (db)] could not execute query: ERROR: must be owner of extension plpgsql Command was: COMMENT ON EXTENSION plpgsql IS 'PL/pgSQL procedural language';
मैं क्या plpgsql है आदि देखा है और मुझे लगता है कि समझते हैं, और त्रुटि के संबंध में:
सभी ठीक है और dandy जब तक यह वास्तव में pg_restore जिस समय पर यह इस त्रुटि देता है प्रदर्शन करने की कोशिश करता है लगता है मैंने उपयोगकर्ता को स्क्रिप्ट निष्पादित करने वाले उपयोगकर्ता को मैन्युअल रूप से "एक्सटेंशन का मालिक" सेट करने का प्रयास किया और डेटाबेस का स्वामित्व किया, लेकिन यह कुछ भी नहीं बदला, यह वास्तव में परेशान है क्योंकि सभी चीजों की टिप्पणी सेट करने के प्रयास में इसकी गलती
यह है सभी pg_dump द्वारा स्वचालित रूप से बनाए गए हैं इसलिए टिप्पणी पंक्ति को हटाया नहीं जा सकता है और टिप्पणियों को अक्षम करने के लिए कोई झंडे नहीं हैं (जो मुझे पता है), इसलिए मैं वास्तव में इस मुद्दे को हल करने के तरीके के रूप में अटक गया हूं।
यदि आप psql का उपयोग करके कनेक्ट करते हैं और '\ l' टाइप करते हैं, तो आप उस डेटाबेस के लिए "स्वामी" कॉलम में क्या देखते हैं? चूंकि plpgsql एक अविश्वसनीय भाषा है, इसलिए इसे डेटाबेस स्वामी या डेटाबेस सुपरसुर द्वारा केवल संशोधित किया जा सकता है (और मुझे लगता है कि उस पर भी टिप्पणी पर लागू होता है)। – kgrittn
मैं पुष्टि कर सकता हूं कि मालिक डेटाबेस का है और सही है और pg_restor कमांड के यूयू विकल्प द्वारा निर्दिष्ट उपयोगकर्ता से मेल खाता है (और pg_dump भी) –
दुर्भाग्य से यह इतना आसान नहीं है। मेरे पास pg_dump आउटपुट है जो उन भाषाओं का उपयोग करके भाषाएं और फ़ंक्शंस बनाने में सक्षम होने की अपेक्षा करता है।यदि मैं डीबी सुपरसुर के रूप में भाषा को हाथ-निर्माण करता हूं, तो फ़ंक्शन निर्माण अनुमति त्रुटियों के कारण विफल रहता है। यदि मैं नहीं करता, प्रक्रिया त्रुटियों के कारण प्रक्रियात्मक भाषा स्थापना विफल हो जाती है। किसी भी मामले में, आगे बढ़ने वाले ट्रिगर्स जो मौजूदा कार्यों पर भरोसा करते हैं, भी नहीं बनाया जा सकता है, क्योंकि कार्य मौजूद नहीं हैं। – Quixadhal