ข้อผิดพลาด: ไม่มีฐานข้อมูล“ 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 ของคุณ
Craig Ringer

ตรวจสอบพอร์ตที่ DB ของคุณกำลังทำงาน เครื่องมือเช่น dropdb, createdb และอื่น ๆ จะเชื่อมต่อโดยค่าเริ่มต้นที่ 5432 สิ่งนี้ทำให้ฉันออกมาเมื่อ DB ของฉันทำงานบน 5433 จริงๆ

คำตอบ:


26

ฐานข้อมูลของคุณถูกสร้างขึ้นโดยใช้เครื่องหมายคำพูดคู่ดังนั้นชื่อจึงเป็นแบบตรงตามตัวพิมพ์ใหญ่ - เล็ก ดังนั้นตอนนี้คุณต้องใช้เครื่องหมายคำพูดคู่เสมอเมื่ออ้างอิงถึง:

drop database "Blog_test";

รายละเอียดเพิ่มเติมเกี่ยวกับตัวระบุที่ยกมา (ชื่อฐานข้อมูลเป็นตัวระบุเช่นเดียวกับคอลัมน์หรือชื่อตาราง) สามารถดูได้ในคู่มือ:
http://www.postgresql.org/docs/current/static/sql-syntax-lexical.html # SQL-ไวยากรณ์ตัวบ่งชี้


1
กฎง่ายๆของฉันใช้ตัวพิมพ์เล็กเสมอ :( ฉันมีปัญหาเดียวกันนี้
Chris Hough
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.