LRI: cơ sở dữ liệu db dbname không tồn tại


19

Theo tài liệu, miễn là tôi không được kết nối với cơ sở dữ liệu, tôi có thể xóa cơ sở dữ liệu trong bảng điều khiển bằng cách sử dụng:

DROP DATABASE dbname;

Hoặc tôi có thể thả nó bằng công cụ bao bọc dropdb.

Cả hai đều cho tôi một lỗi nói rằng cơ sở dữ liệu không tồn tại, nhưng khi ở trong bàn điều khiển và gõ lệnh \l, tôi nhận được một danh sách các cơ sở dữ liệu bao gồm cả cơ sở dữ liệu tôi muốn xóa.

                                          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 | 

Tên cơ sở dữ liệu là Blog_development (và tên bên dưới nó). Tôi đã chơi với đường ray và cố gắng học hỏi từ các tài liệu trực tuyến. Tôi muốn bắt đầu lại và xóa mọi thứ.

Tuy nhiên, khi cố gắng xóa nó, nó nói nó không tồn tại. Tôi hoàn toàn mới với PostgreSQL vì vậy tôi hơi lạc lõng, không có gì trong tài liệu về lỗi này ngoài việc nó xuất hiện khi nó không tồn tại. Tất nhiên nó tồn tại, nó ở ngay đó.


2
Vui lòng luôn hiển thị văn bản đầy đủ, chính xác của bất kỳ thông báo lỗi nào và hiển thị phiên bản PostgreQuery của bạn.
Craig Ringer

Kiểm tra cổng DB của bạn đang chạy. Các công cụ như dropdb, createdb, v.v. sẽ mặc định kết nối với 5432. Điều này khiến tôi phát hiện ra khi DB của tôi thực sự đang chạy trên 5433.

Câu trả lời:


26

Cơ sở dữ liệu của bạn đã được tạo bằng cách sử dụng dấu ngoặc kép để tên của nó hiện phân biệt chữ hoa chữ thường. Do đó, bây giờ bạn cần luôn luôn sử dụng dấu ngoặc kép khi đề cập đến nó:

drop database "Blog_test";

Thông tin chi tiết về số nhận dạng được trích dẫn (tên cơ sở dữ liệu là số nhận dạng giống như tên cột hoặc tên bảng) có thể được tìm thấy trong hướng dẫn sử dụng:
http://www.postgresql.org/docs/cản/static/sql-syntax-lexical.html # SQL-SYNTAX-IDENTIFIERS


1
quy tắc ngón tay cái của tôi luôn sử dụng chữ thường :( Tôi gặp vấn đề tương tự.
Chris Hough
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.