मुझे इस बारे में आपकी मदद करने दें:
-
पहला :क्योंकि
pg_catalog
सुपरयुसर पोस्टग्रेज . के स्वामित्व में है , इसलिए सुनिश्चित करें कि आपने इस भूमिका के साथ सर्वर में लॉगिन किया है:pg_catalog स्कीमा अनुमति -
दूसरा :सुनिश्चित करें कि आप दाएं . से कनेक्ट हैं डेटाबेस जिसे अनुदान/निरस्त . की आवश्यकता है अनुमतियाँ चालू। GRANT/REVOKE केवल वर्तमान . को प्रभावित करता है जिस डेटाबेस से आप जुड़े हैं। इसका मतलब है कि सुपरयूज़र खाते से लॉगिन करने के बाद, समस्या:\c [द डीबी] उस डेटाबेस से जुड़ने के लिए, शेल बदल जाएगा:[the db]=>
-
तीसरा :
pg_catalog
में टेबल चूक सार्वजनिक करने के लिए चुनें:pg_catalog में तालिकाएँ। इसलिए, आपको REVOKE SELECT FROM PUBLIC और फिर GRANT SELECT को उपयुक्त उपयोगकर्ताओं को चलाना होगा:सार्वजनिक से स्कीमा pg_catalog में सभी तालिकाओं पर चयन रद्द करें;
[उपयोगकर्ता] को टेबल [टेबल] पर चयन दें;
डेटाबेस में सूची तालिकाओं के लिए:pg_class और pg_namespace ।
और बस इतना ही :)