DROP DATABASE

DROP DATABASE — 移除一个数据库

Synopsis

DROP DATABASE [ IF EXISTS ] name [ [ WITH ] ( option [, ...] ) ]

其中选项 可以是:

    FORCE

描述

DROP DATABASE移除一个数据库。它会 移除该数据库的系统目录项并且删除包含数据的文件目录。它只能由数据库 拥有者执行。当你已经连接到目标数据库时,它不能被执行(连接 到postgres或者任何其他数据库来发出这个命令)。 另外,如果其他任何人已经连接到目标数据库,这个命令将会失败,除非您 使用以下所述的FORCE选项。

DROP DATABASE不能被撤销。请小心使用!

参数

IF EXISTS

如果该数据库不存在则不要抛出一个错误,而是发出一个提示。

name

要移除的数据库的名称。

FORCE

尝试终止与目标数据库的所有现有连接。 如果目标数据库中存在准备好的事务、活跃的逻辑复制槽或订阅,则不会终止。

如果当前用户没有终止其他连接的权限,则此操作将失败。所需权限与 Section 10.27.2中描述的 pg_terminate_backend相同。如果我们不能 终止连接,则此操作也将会失败。

注解

DROP DATABASE不能在一个事务块内执行。

在连接到目标数据库时,这个命令不能被执行。因此,使用程序 dropdb会更方便,它是这个命令的一个包装器。

兼容性

SQL 标准中没有DROP DATABASE语句。

另见

CREATE DATABASE(含分布式)