उन चीज़ों की सूची जिन्हें आपने गलत समझा:
-
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 ...;