DROP DATABASE

SQL - Language Statements

DROP DATABASE

remove a database

1999-12-11

    DROP DATABASE name

1999-12-11

## Inputs

`name`

- The name of an existing database to remove.

1999-12-11

## Outputs

`DROP DATABASE`

- This message is returned if the command is successful.

`DROP DATABASE: cannot be executed on the currently open database`

- You cannot be connected to the database you are about to remove. Instead, connect to `template1` or any other database and run this command again.

`DROP DATABASE: may not be called in a transaction block`

- You must finish the transaction in progress before you can call this command.

1999-12-11

## Description

`DROP DATABASE` removes the catalog entries for an existing database and deletes the directory containing the data. It can only be executed by the database owner (usually the user that created it).

`DROP DATABASE` cannot be undone. Use it with care!

1999-12-11

### Notes

This command cannot be executed while connected to the target database. Thus, it might be more convenient to use the shell script app-dropdb-title, which is a wrapper around this command, instead.

Refer to sql-createdatabase-title for information on how to create a database.

## Compatibility

1998-04-15

### SQL92

`DROP DATABASE` statement is a PostgreSQL language extension; there is no such command in SQL92.