PostgreSQL 中文参考文档
🌐 英文原版 官方 ↗

DROP DATABASE

DROP DATABASE — 删除一个数据库

Synopsis

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 终止的连接,详见 Section 9.28.2。如果仍有连接存留,这个命令将失败。

注记

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

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

兼容性

SQL 标准中没有 DROP DATABASE 语句。

另请参阅

CREATE DATABASE