उन चीज़ों की सूची जिन्हें आपने गलत समझा:
-
ALTER DEFAULT PRIVILEGES
आपके मामले में स्कीमा में किसी भी मौजूदा वस्तु पर अनुमतियों को नहीं बदलता है।आपको अनुदान चाहिए
CREATE
विशेषाधिकार स्कीमा पर:GRANT CREATE ON SCHEMA tn_schema TO tn_beta_migrator;
-
ALTER DEFAULT PRIVILEGES
आपके द्वारा चलाया गया कथन केवल उपयोगकर्ता द्वारा बनाई गई तालिकाओं पर अनुमतियों को प्रभावित करेगाpostgres
स्कीमा मेंtn_schema
, लेकिन ऐसा लगता है कि आपtn_beta_migrator
. चाहते हैं टेबल बनाने के लिए।आपको
ALTER DEFAULT PRIVILEGES
. की आवश्यकता नहीं है बिल्कुल, चूंकि तालिका बनाने वाला उपयोगकर्ता तालिका का स्वामी बन जाता है और उसके पास डिफ़ॉल्ट रूप से तालिका पर सभी विशेषाधिकार होते हैं। -
आप डिफ़ॉल्ट विशेषाधिकारों को
\ddp
. के साथ देख सकते हैंpsql
. में । -
स्कीमा एक डेटाबेस का हिस्सा हैं, इसलिए आपको इसकी स्कीमा देखने के लिए डेटाबेस से कनेक्ट करने की आवश्यकता है।
यदि आप चाहते हैं कि tn_beta_migrator
. द्वारा बनाई गई तालिकाएँ डिफ़ॉल्ट रूप से कुछ अनुमतियां प्राप्त करें, आपको उस उपयोगकर्ता के लिए default डिफ़ॉल्ट विशेषाधिकारों को परिभाषित करना होगा (और postgres
. के लिए नहीं , जैसा आपने किया था):
ALTER DEFAULT PRIVILEGES FOR ROLE tn_beta_migrator IN SCHEMA tn_schema GRANT ...;