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

提交更正

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