DROP USER
(या DROP ROLE
, वही बात) तब तक आगे नहीं बढ़ सकता जब तक भूमिका के पास कुछ भी न हो या अन्य वस्तुओं पर कोई विशेषाधिकार प्राप्त हो।
DROP OWNED . के साथ सभी विशेषाधिकारों से छुटकारा पाएं (जो शब्दों से बहुत स्पष्ट नहीं है) . मैनुअल:
तो किसी भूमिका को छोड़ने के लिए आदेशों का विश्वसनीय क्रम है:
REASSIGN OWNED BY ryan TO postgres; -- or some other trusted role
DROP OWNED BY ryan;
एक ही क्लस्टर के प्रत्येक डेटाबेस में दोनों कमांड चलाएँ जहां भूमिका के पास कुछ भी हो या उसके पास कोई विशेषाधिकार हो!
और अंत में:
DROP USER ryan;
REASSIGN OWNEDवर्तमान में भूमिका के स्वामित्व वाली सभी वस्तुओं का स्वामित्व बदलता है।DROP OWNEDतब केवल विशेषाधिकारों को निरस्त करता है (स्वामित्व रास्ते से हट जाता है)।
वैकल्पिक रूप से, आप REASSIGN OWNED . को छोड़ सकते हैं . फिर DROP OWNED विल (भी) उपयोगकर्ता के स्वामित्व वाली सभी वस्तुओं को छोड़ देगा। (क्या आपको यकीन है?!)
संबंधित:
- विशेषाधिकारों के साथ एक भूमिका छोड़ें <उप>(सभी प्रासंगिक डीबी के लिए आदेश उत्पन्न करने के लिए एक समारोह के साथ)
- पोस्टग्रेएसक्यूएल भूमिका से जुड़े ऑब्जेक्ट ढूंढें