September 26, 2024: PostgreSQL 17 Released!
Supported Versions: Current (17) / 16 / 15 / 14 / 13 / 12
Development Versions: devel
Unsupported versions: 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1
This documentation is for an unsupported version of PostgreSQL.
You may want to view the same page for the current version, or one of the other supported versions listed above instead.

DROP DATABASE

Name

DROP DATABASE  --  remove a database

Synopsis

DROP DATABASE name
  

Inputs

name

The name of an existing database to remove.

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.

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!

Notes

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

Refer to CREATE DATABASE for information on how to create a database.

Compatibility

SQL92

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