受支持版本: 当前版本 (18) / 17 / 16 / 15 / 14
开发版本: devel

DROP DATABASE

DROP DATABASE — 移除一个数据库

Synopsis

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

其中 option 可以是:

    FORCE

描述

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

DROP DATABASE无法撤销。请谨慎使用!

参数

IF EXISTS

如果该数据库不存在,则不要抛出错误。这种情况下会发出一个提示。

name

要移除的数据库名称。

FORCE

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

这会终止后台工作进程连接,以及当前用户有权使用 pg_terminate_backend终止的连接,该函数见 Section 9.27.2。如果仍有连接保留,该命令将失败。

注解

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

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

兼容性

SQL 标准中没有DROP DATABASE语句。

提交更正

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