अनुमति देने से इनकार कर दिया "pg_catalog.tablename" pg_dump के दौरान एक और मशीन को निशाना बनाया


11

मैं कुछ टेबल्स को 9.5 बीटा 2 से 9.4.4 सर्वर पर डंप करने की कोशिश कर रहा हूं। मेरे द्वारा उपयोग की जा रही कमांड का रूप काफी मानक है:

pg_dump -t table dbname | psql -h hostname -d dbname

मैं पोस्टग्रेज उपयोगकर्ता का उपयोग कर रहा हूं, जो मुझे लगता है कि शायद आदर्श नहीं है, लेकिन ये दोनों देव डेटा प्रोसेसिंग बॉक्स हैं जो केवल मैं उपयोग करता हूं और यह उस त्रुटि के लिए प्रासंगिक है जो निम्नानुसार है। प्रारंभ में, मुझे त्रुटि मिली

त्रुटि: अपरिचित कॉन्फ़िगरेशन पैरामीटर "row_security"

जो अपेक्षित है क्योंकि यह फीचर 9.5 में नया है, और, हाँ, मुझे एहसास है कि यह अलग-अलग पोस्टग्रेज संस्करणों के बीच pg_dump के लिए उचित नहीं है, लेकिन, दुखद रूप से अपरिहार्य है, यह देखते हुए कि मैंने बहुत अस्पष्ट बग मारा है, और एक बड़ा कदम उठाने की आवश्यकता है स्थिर डेटा की मात्रा एक बार।

इसलिए, पंक्ति_ त्रुटि त्रुटि को दूर करने के लिए इस घृणित हैक का उपयोग करना, और पहली त्रुटि पर स्टॉप को चालू करना:

pg_dump -t tablemame dbname |sed 's/SET row_security = off;//'|
psql -v ON_ERROR_STOP=1 -h hostname -d dbname

अब मुझे मिलता है:

ERROR: "pg_catalog.tablename" बनाने की अनुमति से इनकार किया गया है: सिस्टम कैटलॉग संशोधनों को वर्तमान में अस्वीकृत कर दिया गया है

हालांकि यह Postgres उपयोगकर्ता / भूमिका का उपयोग करने के लिए अवांछनीय हो सकता है, मेरी समझ यह है कि इस प्रकृति के कोई अनुमति मुद्दे नहीं होने चाहिए। मैं ध्यान में रखते हुए किसी भी सुझाव के लिए खुला हूं कि यह एक बंद ऑपरेशन है और ये डेटा प्रोसेसिंग देव बॉक्स हैं जो किसी भी जीवित सेवाओं से जुड़े नहीं हैं, इसलिए आदर्श कॉर्पोरेट डेटा एक्सेस नीतियों पर निर्भरता को प्राथमिकता दी जाती है। यह कहने के बाद, यह समझना अच्छा होगा कि इसे ठीक से कैसे किया जाए और भविष्य में इससे बचा जाए।

जवाबों:


13

यह कुछ हद तक अस्पष्ट त्रुटि संदेश के कारण होता है जो तब होता है जब आप जिस स्कीमा से pg_dump से डंप कर रहे होते हैं वह लक्ष्य डेटाबेस / मशीन पर मौजूद नहीं होता है। मैं इस सवाल को छोड़ दूंगा, इस उम्मीद में कि यह किसी और की मदद कर सकता है।


मुझे भी हुआ, सौभाग्य से मुझे यह मिला। बस मैन्युअल रूप से 'सार्वजनिक' स्कीमा बनाया और यह काम किया।
रॉबर्ट माइक्स

@RobertMikes। मदद करने में खुशी। यह कुछ अस्पष्ट त्रुटि है।
जॉन पॉवेल

धन्यवाद - सौभाग्य से मुझे इसमें शामिल होने से पहले मिला!
जेम्स फ्राई

+1। इस मुद्दे ने मुझे भी उलझा दिया!
जे कमिंस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.