lo_compat_privileges
का दस्तावेज़
स्थिति की व्याख्या करता है:
ध्यान दें कि इसे प्रति डेटाबेस के साथ सेट किया जा सकता है:
ALTER DATABASE dbname SET lo_compat_privileges=on;
जब lo_compat_privileges
अपने डिफ़ॉल्ट OFF
. पर सेट है , पहुंच सुपरयुसर तक सीमित नहीं है, बल्कि नियंत्रित है। प्रत्येक बड़ी वस्तु का एक स्वामी होता है और उस स्वामी के पास पूर्ण अधिकार होते हैं। प्रत्येक बड़ी वस्तु के लिए एक बार में (मालिक या सुपरयूज़र द्वारा) पढ़ने की अनुमति दी जा सकती है:
GRANT SELECT ON LARGE OBJECT loid TO rolename;
जहां rolename
PUBLIC
भी हो सकता है "हर कोई" मतलब के लिए, देखें GRANT
विवरण के लिए।
दूसरी ओर, मुझे नहीं लगता कि किसी एक कमांड के साथ डेटाबेस के सभी बड़े ऑब्जेक्ट्स पर अनुमतियां सेट करना संभव है, या अभी तक मौजूदा सामग्री पर अग्रिम रूप से सेट करना संभव नहीं है, क्योंकि ALTER DEFAULT PRIVILEGES
बड़ी वस्तुओं के लिए कोई समर्थन नहीं है, और जैसा कि आप ध्यान दें, ट्रिगर एक विकल्प नहीं हैं।
एक गैर-सुपरयूज़र जिसके पास डेटाबेस के सभी बड़े ऑब्जेक्ट पर SELECT अनुमतियाँ हैं, वह बिना किसी त्रुटि के इस डेटाबेस को pg_dump कर सकता है।