के बाद पोस्टग्रेस भूमिका और डेटाबेस को छोड़ना मैं पोस्टग्रेस उदाहरण से drop role
कुशलतापूर्वक प्रयास करने की कोशिश कर रहा हूं, और कुछ समस्याओं में चल रहा हूं। मैं कुछ एसक्यूएल को drop role
पर ढूंढ रहा हूं ताकि मैं त्रुटि संदेशों को पढ़ना बंद कर सकूं और इसे मैन्युअल रूप से करने की आवश्यकता नहीं है।कई अनुदान
सेटअप में मैं में काम कर रहा हूँ, हर भूमिकाओं में एक ही नाम के अपने खुद के डेटाबेस हो जाता है:
CREATE ROLE alpha_user;
CREATE DATABASE alpha_user;
ALTER DATABASE alpha_user OWNER TO alpha_user;
उपयोगकर्ताओं को अक्सर अन्य उपयोगकर्ताओं को अपने डाटाबेस में स्कीमा को पहुंच प्रदान:
-- alpha_user logs in to the alpha_user database
GRANT USAGE ON SCHEMA myschema TO beta_user;
जब मैं beta_user
ड्रॉप करने का प्रयास, ऐसा होता है:
-- log in as superuser
DROP ROLE beta_user;
-- ERROR: role "beta_user" cannot be dropped because some objects depend on it
-- DETAIL: N objects in database alpha_user
मैं से कनेक्ट कर सकते alpha_user
डेटाबेस, और ड्रॉप OWNED BY
, लेकिन यह अक्षम है:
-- log in as superuser
\c alpha_user;
DROP OWNED BY beta_user CASCADE;
DROP beta_user;
-- success
उपयोगकर्ता डेटाबेस के किसी भी संख्या को पहुंच प्रदान कर सकते हैं, और कई उपयोगकर्ता हैं। क्या कोई बयान (या कथन की श्रृंखला) है कि एक सुपर उपयोगकर्ता सभी डेटाबेस में उपयोगकर्ता के लिए DROP OWNED BY
पर निष्पादित कर सकता है जहां उपयोगकर्ता को पहुंच प्रदान की गई है?
PostgreSQL के अपने संस्करण में क्या है और आपके ऑपरेटिंग सिस्टम क्या है? –
पोस्टग्रेस 9.4, और उबंटू 14.04। ऑपरेटिंग सिस्टम क्यों मायने रखता है? – alacarter
आप लिनक्स प्रदान करता है कि कमांड लाइन उपकरण की मदद का उपयोग कर सकते हैं। –