2025年9月25日: PostgreSQL 18 发布!
支持的版本: 当前 (18) / 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

提交更正

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