De acordo com a documentação, desde que não esteja conectado a um banco de dados, posso excluir um banco de dados no console usando:
DROP DATABASE dbname;
Ou posso soltá-lo usando a ferramenta wrapper dropdb
.
Ambos me dão um erro dizendo que o banco de dados não existe, mas quando no console e digitando o comando \l
, recebo uma lista de bancos de dados, incluindo o que eu quero excluir.
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 |
O nome do banco de dados é Blog_development (e o nome abaixo). Eu estava brincando com trilhos e tentando aprender com a documentação online. Eu queria começar de novo e excluir tudo.
Ao tentar excluí-lo, no entanto, ele diz que não existe. Sou novato no PostgreSQL, por isso estou um pouco perdido, nada na documentação sobre esse erro além de aparecer quando ele não existe. Claro que existe, está bem ali.
fonte
Respostas:
Seu banco de dados foi criado usando aspas duplas, portanto, seu nome agora diferencia maiúsculas de minúsculas. Portanto, agora você precisa sempre usar aspas duplas ao se referir a ele:
Mais detalhes sobre identificadores entre aspas (um nome de banco de dados é um identificador como um nome de coluna ou tabela) podem ser encontrados no manual:
http://www.postgresql.org/docs/current/static/sql-syntaxíquical.html # SQL-SYNTAX-IDENTIFIERS
fonte