DROP DATABASE

Nombre

DROP DATABASE  --  Elimina una base de datos existente

Synopsis

DROP DATABASE name
  

Entradas

name

El nombre de una base de datos existente que se desaea eliminar.

Salidas

DROP DATABASE

Este mensaje se devuelve si la orden se ejecuta satisfactoriamente.

ERROR: user 'username' is not allowed to create/drop databases

Debe tener el privilegio especial CREATEDB para eliminar bases de datos. Ver CREAR USUARIO.

ERROR: dropdb: cannot be executed on the template database

La base de datos template1 no puede ser eliminada. No es conveniente hacerlo.

ERROR: dropdb: cannot be executed on an open database

NO puede conectarse a la base de datos que quiere eliminar. En su lugar, ha de conectar a template1 o cualquier otra base de datos, y ejecutar el comando de nuevo.

ERROR: dropdb: database 'name' does not exist

Este mensaje ocurre si la base de datos especificada no existe.

ERROR: dropdb: database 'name' is not owned by you

Debe ser el propietario de la base de datos. Ser el propietario normalmente significa que también la ha creado.

ERROR: dropdb: May not be called in a transaction block.

Ha de completar primero la transacción en progreso antes de poder ejecutar este comando.

NOTICE: The database directory 'xxx' could not be removed.

la base de datos fué eliminada (a menos que haya aparecido otro mensaje de error), pero el directorio donde se almacenaben los datos no pudo ser eliminado. Debe borrarlo manualmente.

Descripción

DROP DATABASE elimina las entradas de catálogo de una base de datos existente y borra el directorio que contiene los datos. Solamente puede ser ejecutado por el propietario de la base de datos (normalmente quien la creó).

Notas

Esta orden no puede ser ejecutada mientras se está conectado a la base de datos objetivo. Por lo tanto, puede ser más conveniente usar el shell script dropdb, que emplea este comando.

Véase Refer to CREATE DATABASE para más información sobre como crear una base de datos.

Compatibilidad

SQL92

La sentencia DROP DATABASE es una extensión de lenguaje de Postgres; no existe ese comando en SQL92.