PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

PostgreSQL में समूह भूमिका के लिए डीबी में एक विशिष्ट स्कीमा पर सभी को अनुदान दें

आपने सभी मौजूदा . के लिए विशेषाधिकार सेट करने के लिए शॉर्टहैंड पाया दिए गए स्कीमा में तालिकाएँ। मैनुअल स्पष्ट करता है:

<ब्लॉकक्वॉट>

(लेकिन ध्यान दें कि ALL TABLES दृश्यों . को शामिल करने के लिए माना जाता है और विदेशी टेबल )।

बोल्ड जोर मेरा। serial कॉलम nextval() with के साथ क्रियान्वित किए जाते हैं कॉलम डिफ़ॉल्ट के रूप में अनुक्रम पर और, मैनुअल को उद्धृत करते हुए:

<ब्लॉकक्वॉट>

अनुक्रमों के लिए, यह विशेषाधिकार currval . के उपयोग की अनुमति देता है और nextval कार्य।

तो अगर serial हैं कॉलम, आप USAGE भी देना चाहेंगे (या ALL PRIVILEGES ) अनुक्रमों . पर

GRANT USAGE ON ALL SEQUENCES IN SCHEMA foo TO mygrp;

नोट:पोस्टग्रेज 10 या बाद के संस्करण में पहचान कॉलम ऐसे निहित अनुक्रमों का उपयोग करते हैं जिन्हें अतिरिक्त विशेषाधिकारों की आवश्यकता नहीं होती है। (serial को अपग्रेड करने पर विचार करें कॉलम।)

नए के बारे में क्या? ऑब्जेक्ट?

आपकी रुचि DEFAULT PRIVILEGES . में भी होगी उपयोगकर्ताओं या स्कीमा के लिए:

ALTER DEFAULT PRIVILEGES IN SCHEMA foo GRANT ALL PRIVILEGES ON TABLES TO staff;
ALTER DEFAULT PRIVILEGES IN SCHEMA foo GRANT USAGE          ON SEQUENCES TO staff;
ALTER DEFAULT PRIVILEGES IN SCHEMA foo REVOKE ...;

यह स्वचालित रूप से भविष्य में बनाई गई वस्तुओं के लिए विशेषाधिकार सेट करता है - लेकिन पहले से मौजूद वस्तुओं के लिए नहीं।

डिफ़ॉल्ट विशेषाधिकार केवल हैं लक्षित उपयोगकर्ता द्वारा बनाई गई वस्तुओं पर लागू (FOR ROLE my_creating_role ) यदि उस खंड को छोड़ दिया जाता है, तो यह वर्तमान उपयोगकर्ता के लिए डिफ़ॉल्ट रूप से ALTER DEFAULT PRIVILEGES निष्पादित करता है . स्पष्ट होना:

ALTER DEFAULT PRIVILEGES FOR ROLE my_creating_role IN SCHEMA foo GRANT ...;
ALTER DEFAULT PRIVILEGES FOR ROLE my_creating_role IN SCHEMA foo REVOKE ...;

यह भी ध्यान दें कि pgAdmin III के सभी संस्करणों में एक सूक्ष्म बग है और डिस्प्ले SQL फलक में डिफ़ॉल्ट विशेषाधिकार, भले ही वे वर्तमान भूमिका पर लागू न हों। FOR ROLE . को समायोजित करना सुनिश्चित करें SQL स्क्रिप्ट की प्रतिलिपि बनाते समय मैन्युअल रूप से क्लॉज़ करें।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL में दोष सहिष्णुता का विकास

  2. पोस्टग्रेज क्रेट का उपयोग करके किसी क्वेरी द्वारा लौटाए गए वैकल्पिक मान को कैसे संभालें?

  3. PostgreSQL में अनुक्रमणिका वाले स्तंभों की सूची बनाएं

  4. DROP TABLE यदि PostgreSQL में उदाहरण मौजूद है

  5. PostgreSQL 13 . के साथ तार्किक प्रतिकृति विभाजन