오류 : 데이터베이스“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-SYNTAX-IDENTIFIERS


1
내 경험 법칙은 항상 소문자를 사용합니다. (저도 같은 문제가있었습니다.
Chris Hough
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.