त्रुटि: डेटाबेस "dbname" मौजूद नहीं है


19

प्रलेखन के अनुसार, जब तक मैं एक डेटाबेस से जुड़ा नहीं हूं, मैं या तो कंसोल में डेटाबेस का उपयोग करके हटा सकता हूं:

DROP DATABASE dbname;

या मैं इसे आवरण उपकरण का उपयोग करके छोड़ सकता हूं dropdb

दोनों मुझे एक त्रुटि देते हुए कहते हैं कि डेटाबेस मौजूद नहीं है, फिर भी जब कंसोल और कमांड टाइप करते हैं \l, तो मुझे डेटाबेस की एक सूची मिलती है, जिसमें मैं हटाना चाहता हूं।

                                          List of databases
           Name            |   Owner   | Encoding |   Collate   |    Ctype    |   Access privileges   
---------------------------+-----------+----------+-------------+-------------+-----------------------
 Blog_development          | myusername | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 Blog_test                 | myusername | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 

डेटाबेस का नाम Blog_development (और उसके नीचे वाला) है। मैं रेल के साथ खेल रहा था और ऑनलाइन प्रलेखन से सीखने की कोशिश कर रहा था। मैं सब कुछ शुरू करना और हटाना चाहता था।

हालांकि इसे हटाने की कोशिश की जा रही है, यह कहते हैं कि यह मौजूद नहीं है। मैं PostgreSQL के लिए बिल्कुल नया हूं, इसलिए मैं थोड़ा सा खो गया हूं, इस त्रुटि के बारे में दस्तावेज़ीकरण में कुछ भी नहीं है, इसके अलावा जब यह मौजूद नहीं है तो यह पॉप अप होता है। बेशक यह मौजूद है, यह वहीं है।


2
कृपया हमेशा किसी भी त्रुटि संदेश का पूर्ण, सटीक पाठ दिखाएं और अपना PostgreSQL संस्करण दिखाएं।
क्रेग रिंगर

उस पोर्ट की जांच करें जिस पर आपका DB चल रहा है। ड्रॉपडब, सेटब आदि जैसे उपकरण डिफ़ॉल्ट रूप से 5432 से जुड़ेंगे। इसने मुझे तब पकड़ा जब मेरा DB वास्तव में 5433 पर चल रहा था।

जवाबों:


26

आपका डेटाबेस डबल कोट्स का उपयोग करके बनाया गया था, इसलिए इसका नाम अब केस-संवेदी है। इसलिए, अब आपको इसे संदर्भित करते समय हमेशा दोहरे उद्धरण चिह्नों का उपयोग करने की आवश्यकता है:

drop database "Blog_test";

उद्धृत पहचानकर्ताओं के बारे में अधिक जानकारी (एक डेटाबेस नाम स्तंभ या तालिका नाम की तरह एक पहचानकर्ता है) मैनुअल में पाया जा सकता है:
http://www.postgresql.org/docs/current/static/sql-syntax-lexical.html # एसक्यूएल-सिंटेक्स पहचानकर्ता


1
मेरे अंगूठे का नियम हमेशा निचले मामले का उपयोग करता है :( मुझे भी यही समस्या थी।
क्रिस हफ
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.