支持的版本:当前 (17) / 16 / 15 / 14 / 13
开发版本:devel
不支持的版本:12 / 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

DROP DATABASE

DROP DATABASE — 删除数据库

概要

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

where option can be:

    FORCE

描述

DROP DATABASE 删除一个数据库。它会删除该数据库的目录项,并删除包含数据的目录。它只能由数据库所有者执行。当您连接到目标数据库时,不能执行此操作。(连接到postgres或任何其他数据库来发出此命令。)另外,如果其他人连接到目标数据库,则除非您使用下面描述的FORCE选项,否则此命令将失败。

DROP DATABASE 不能撤销。请谨慎使用!

参数

IF EXISTS

如果数据库不存在,则不抛出错误。在这种情况下会发出通知。

name

要删除的数据库的名称。

FORCE

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

这会终止后台工作进程连接以及当前用户有权使用pg_terminate_backend终止的连接,这在第 9.28.2 节中描述。如果连接仍然存在,则此命令将失败。

备注

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

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

兼容性

SQL标准中没有DROP DATABASE语句。

另请参阅

CREATE DATABASE

提交更正

如果您发现文档中有任何不正确的内容、与您使用特定功能的经验不符或需要进一步澄清的内容,请使用此表单报告文档问题。