2011-04-17 12 views
6

मैं ओएसएक्स संस्करण 10.6.6 पर PostgreSQL संस्करण 9.0 चला रहा हूं। किसी भी तरह से मेरे विकास डेटाबेस में से एक रखरखाव डीबी बन गया है, पोस्टग्रेज़ नहीं (यह डीबी भी मौजूद है)। मुझे रखरखाव डीबी को पोस्टग्रेज़ में बदलने/सेट करने के तरीके पर कोई दस्तावेज नहीं मिल रहा है।मैं पोस्टग्रेस के लिए रखरखाव डेटाबेस कैसे बदलूं?

मैं इस मुद्दे की वजह से मेरे विकास डेटाबेस ड्रॉप नहीं कर सकते हैं ...

+0

मेरा मानना ​​है कि रखरखाव db अपने ओएस उपयोगकर्ता के रूप में एक ही नाम के साथ एक है, कम से कम यह है कि यह कैसे विंडोज और लिनक्स में काम करता है, की कोशिश किसी दूसरे उपयोगकर्ता के लिए और फिर से लॉग है पोस्टग्रेस से कनेक्ट करें। – Cesar

+2

पोस्टग्रेस –

+1

में "रखरखाव डीबी" जैसी कोई चीज़ नहीं है जब मैं pgAdmin में लॉग इन करता हूं और डेटाबेस छोड़ने का प्रयास करता हूं, तो मुझे त्रुटि संदेश मिलता है: "डेटाबेस को छोड़ने की अनुमति नहीं है। रखरखाव डेटाबेस को हटाया नहीं जा सकता है।" प्रश्न में डीबी पोस्टग्रेज़ नहीं है लेकिन परीक्षण के लिए मैंने बनाया एक और डीबी। – gsiener

उत्तर

9

आप इस पर पूरी तरह स्पष्ट नहीं हैं, लेकिन आप pgAdmin III में "रखरखाव डीबी" चयन क्या मतलब है?

अपने "ऑब्जेक्ट ब्राउज़र" फलक में सर्वर का चयन करें; राइट क्लिक -> गुण

पांचवें क्षेत्र "रखरखाव डीबी"

+0

हां, मैं डीजी को pgAdmin (ऊपर मेरी टिप्पणी प्रति) के माध्यम से छोड़ने की कोशिश कर रहा हूं। दुर्भाग्य से "रखरखाव डीबी" संपत्ति केवल पढ़ने के लिए है। – gsiener

+0

इसे हल किया गया।मैं रेक (रेक डीबी: ड्रॉप) का उपयोग कर डेटाबेस छोड़ने में सक्षम था। जब मैंने pgAdmin खोला तो मुझे अधिसूचित किया गया कि रखरखाव डेटाबेस मौजूद नहीं था। मैं intgr द्वारा वर्णित "रखरखाव डीबी" चयन को अद्यतन कर सकता था (यह पहले केवल पढ़ने के लिए था) – gsiener

+0

@gsiener: "रखरखाव डीबी" संपत्ति * कभी * पढ़ी नहीं जाती है। प्रस्तावित मूल्यों से चुनने के अलावा आप हमेशा किसी भी डेटाबेस नाम में टाइप कर सकते हैं। –

4

enter image description here

रखरखाव db क्षेत्र केवल पढ़ने के लिए है, तो आप it.So आप अपने सर्वर गुण कहीं रखना चाहिए नहीं बदल सकते हैं और है इन गुणों के साथ नया सर्वर बनाएं और रखरखाव डीबी "पोस्टग्रेस" सेट करें। अब आप डेटाबेस छोड़ने में सक्षम हैं।

18

आप pgAdmin से रखरखाव डीबी बदल सकते हैं लेकिन आपको ऐसा करने में सक्षम होने के लिए डेटाबेस इंजन से डिस्कनेक्ट होना होगा।

पहले डिस्कनेक्ट:

डेटाबेस सर्वर गुण में

तब:

चुनें वांछित रखरखाव डेटाबेस:

3

कमांड लाइन विकल्प है:

psql -U intelison -c "UPDATE pg_database SET datistemplate=false, datallowconn=true WHERE datname = '<your_database_name>'" 
+2

धन्यवाद। मैं कमांड लाइन विकल्प की तलाश में था। क्या मैं आपको यह बताने के लिए कह सकता हूं कि इस आदेश के घटकों का मतलब क्या है? – Daniel

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