2013-10-05 8 views
5

बनाने PostgreSQL डेटाबेस "मानचित्र" जो PostGIS एक्सटेंशन का उपयोग करता बनाने की प्रक्रिया में, CREATE EXTENSION postgis;, उपयोगकर्ता "mapmaker-" के माध्यम से निम्न त्रुटि हो जाता है डेटाबेस मालिक के रूप में आदेश के माध्यम से sudo -u postgres psql द्वारा निर्दिष्ट:postgres विस्तार PostGIS त्रुटि

CREATE DATABASE map OWNER mapmaker; 
GRANT ALL PRIVILEGES ON DATABASE map TO mapmaker; 

एक बार mapmaker उपयोगकर्ता स्तर पर एक सुपर उपयोगकर्ता मैं अब त्रुटि प्राप्त है और विस्तार इसलिए बनाई गई है मैं समझता हूँ कि सब मैं क्या करना है permiss समायोजित है पोस्टग्रेसर उपयोगकर्ता के माध्यम से सुपरमेसर के माध्यम से मैपमेकर का आयन, लेकिन मुझे यह जानने में दिलचस्पी है कि ऐसा क्यों है यदि मैपमेकर को डेटाबेस मानचित्र पर सभी विशेषाधिकार दिए गए थे? एक्सटेंशन अलग तरीके से इलाज कर रहे हैं? एक्सटेंशन का उपयोग करने के लिए उपयोगकर्ता को उपयोगकर्ता स्तर सुपरसियर होना चाहिए या डेटाबेस स्तर पर अनुमतियां आवंटित की जा सकती हैं?

मैंने cannot create extension without superuser role देखा लेकिन सवाल का जवाब यह नहीं समझा कि क्यों और, दुर्भाग्य से, मेरे पास टिप्पणी करने के लिए पर्याप्त अंक नहीं हैं, इसलिए सवाल है।

PostgreSQL 9.1.9 PostGIS 2.0.3

उत्तर

6

Packaging Related Objects into an Extension में, दस्तावेज़ बताता है एक विस्तार एक superuser पैरामीटर, जब true करने के लिए सेट, इंगित करता है कि केवल एक सुपर उपयोगकर्ता स्थापित करने या एक्सटेंशन को अपग्रेड कर सकते है।

तो यह पोस्टजीआईएस का मामला है, संभवतः सी भाषा में लागू होने के कारण, पूरे क्लस्टर और डेटा निर्देशिका में यह केवल एक डेटाबेस नहीं है, इसकी कोई सीमा नहीं है। सुपरसुर के पास संपूर्ण क्लस्टर पर अधिकार है, जो एक डेटाबेस के मालिक के पास नहीं है।

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

संबंधित मुद्दे