De acuerdo con la documentación, mientras no esté conectado a una base de datos, puedo eliminar una base de datos en la consola usando:
DROP DATABASE dbname;
O puedo soltarlo usando la herramienta de envoltura dropdb
.
Ambos me dan un error diciendo que la base de datos no existe, sin embargo, cuando estoy en la consola y escribo el comando \l
, obtengo una lista de bases de datos, incluida la que quiero eliminar.
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 |
El nombre de la base de datos es Blog_development (y el que está debajo). Estaba jugando con rieles e intentando aprender de la documentación en línea. Quería comenzar de nuevo y borrar todo.
Sin embargo, cuando intenta eliminarlo, dice que no existe. Soy nuevo en PostgreSQL, así que estoy un poco perdido, no hay nada en la documentación sobre este error aparte de aparecer cuando no existe. Por supuesto que existe, está justo ahí.
fuente
Respuestas:
Su base de datos se creó con comillas dobles, por lo que su nombre ahora distingue entre mayúsculas y minúsculas. Por lo tanto, ahora debe usar siempre comillas dobles al referirse a él:
Puede encontrar más detalles sobre los identificadores entre comillas (el nombre de una base de datos es un identificador como el nombre de una columna o tabla) en el manual:
http://www.postgresql.org/docs/current/static/sql-syntax-lexical.html # SQL-SYNTAX-IDENTIFIERS
fuente