आपको समझना होगा कि PostgreSQL उपयोगकर्ताओं में प्रति डेटाबेस क्लस्टर हैं। @ माइकल पहले से ही दिखाता है कि उन लोगों की सूची कैसे प्राप्त करें।
इसलिए, जब तक आप किसी विशेष डेटाबेस के लिए REVOKE
और GRANT
के साथ अनुमतियों को प्रतिबंधित नहीं करते हैं, तब तक क्लस्टर में सभी उपयोगकर्ताओं के पास क्लस्टर में किसी भी डेटाबेस तक मूल पहुंच होती है।
निर्धारित करने के लिए, एक विशिष्ट उपयोगकर्ता वास्तव में एक डेटाबेस के लिए एक निश्चित विशेषाधिकार ('कनेक्ट') है या नहीं:
has_database_privilege(user, database, privilege)
privilege functions in the manual के बारे में अधिक।
एक विशिष्ट डेटाबेस के लिए सभी विशिष्ट विशेषाधिकार यह निर्धारित करने के लिए:
SELECT datname, datacl
FROM pg_database
WHERE datname = 'mydb';
आप datacl
के लिए NULL
प्राप्त करता है, तो कोई विशिष्ट प्रतिबंध लागू।
कि आप
pg_hba.conf
फ़ाइल में डेटाबेस प्रति का उपयोग और प्रति उपयोगकर्ता सीमित कर सकते हैं के अलावा
। यह निचले स्तर पर है। उपयोगकर्ता कनेक्ट भी नहीं कर सकता है, अगर pg_hba.conf
उसे नहीं जाने देगा, भले ही डेटाबेस स्वयं पहुंच की अनुमति दे।
स्रोत
2012-01-19 13:18:03
@ माइकल, मदद के लिए एक टन धन्यवाद। –
आपका स्वागत है। –