2010-11-30 13 views

उत्तर

213
ALTER DATABASE name OWNER TO new_owner; 

अधिक जानकारी के लिए the Postgresql manual's entry on this देखें।

+3

पूर्णता के लिए यहां मैनुअल का हिस्सा है जो यह दस्तावेज करता है: http://www.postgresql.org/docs/current/static/sql-alterdatabase.html –

+2

इस कमांड ने मेरे डेटाबेस को हटा दिया ... अच्छा एक – mArtinko5MB

+12

@ mArtinko5MB: यह असंभव है, ALTER डेटाबेस को ड्रॉ नहीं करता है। –

7

फ़्रैंक हेइकेंस उत्तर केवल डेटाबेस स्वामित्व अपडेट करेगा। अक्सर, आप निहित वस्तुओं (टेबल सहित) के स्वामित्व को भी अपडेट करना चाहते हैं। पोस्टग्रेस 8.2, REASSIGN OWNED से शुरू करना इस कार्य को सरल बनाने के लिए उपलब्ध है।

पहले, व्यवस्थापक डेटाबेस और अद्यतन डीबी स्वामित्व से कनेक्ट:

psql 
postgres=# REASSIGN OWNED BY old_name TO new_name; 

यह ALTER DATABASE आदेश के एक वैश्विक बराबर फ्रैंक जवाब में प्रदान की जाती है, लेकिन एक विशेष डीबी को अद्यतन करने के बजाय, यह स्वामित्व वाले सभी डीबीएस का स्वामित्व बदलने 'old_name' द्वारा।

अगले कदम के प्रत्येक डेटाबेस के लिए टेबल स्वामित्व अद्यतन करने के लिए है:

psql old_name_db 
old_name_db=# REASSIGN OWNED BY old_name TO new_name; 

यह प्रत्येक डीबी 'NEW_NAME' के स्वामित्व पर किया जाना चाहिए। आदेश डीबी में सभी तालिकाओं के स्वामित्व को अद्यतन करेगा।

संबंधित मुद्दे