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

PostgreSQL विशेषाधिकार अनुदान दिखाई नहीं दे रहा है

उन चीज़ों की सूची जिन्हें आपने गलत समझा:

  1. ALTER DEFAULT PRIVILEGES आपके मामले में स्कीमा में किसी भी मौजूदा वस्तु पर अनुमतियों को नहीं बदलता है।

    आपको अनुदान चाहिए CREATE विशेषाधिकार स्कीमा पर:

    GRANT CREATE ON SCHEMA tn_schema TO tn_beta_migrator;
    
  2. ALTER DEFAULT PRIVILEGES आपके द्वारा चलाया गया कथन केवल उपयोगकर्ता द्वारा बनाई गई तालिकाओं पर अनुमतियों को प्रभावित करेगा postgres स्कीमा में tn_schema , लेकिन ऐसा लगता है कि आप tn_beta_migrator . चाहते हैं टेबल बनाने के लिए।

    आपको ALTER DEFAULT PRIVILEGES . की आवश्यकता नहीं है बिल्कुल, चूंकि तालिका बनाने वाला उपयोगकर्ता तालिका का स्वामी बन जाता है और उसके पास डिफ़ॉल्ट रूप से तालिका पर सभी विशेषाधिकार होते हैं।

  3. आप डिफ़ॉल्ट विशेषाधिकारों को \ddp . के साथ देख सकते हैं psql . में ।

  4. स्कीमा एक डेटाबेस का हिस्सा हैं, इसलिए आपको इसकी स्कीमा देखने के लिए डेटाबेस से कनेक्ट करने की आवश्यकता है।

यदि आप चाहते हैं कि tn_beta_migrator . द्वारा बनाई गई तालिकाएँ डिफ़ॉल्ट रूप से कुछ अनुमतियां प्राप्त करें, आपको उस उपयोगकर्ता के लिए default डिफ़ॉल्ट विशेषाधिकारों को परिभाषित करना होगा (और postgres . के लिए नहीं , जैसा आपने किया था):

ALTER DEFAULT PRIVILEGES FOR ROLE tn_beta_migrator IN SCHEMA tn_schema GRANT ...;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Regexp_matches परिणामों से दूसरा मैच प्राप्त करें

  2. Postgres में अद्यतन के लिए DELETE से वापसी मूल्य का उपयोग करना

  3. डेटा को एक टेबल से दूसरी टेबल पर ले जाएं, पोस्टग्रेस्क्ल संस्करण

  4. मैं यूटीएफ -8 में डीबी के साथ पोस्टग्रेस 8.3.x में एक उच्चारण असंवेदनशील खोज कैसे कर सकता हूं?

  5. डुप्लिकेट रिकॉर्ड लौटाएं (activerecord, postgres)