↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

受支持版本: 当前版本 (18) / 17 / 16 / 15 / 14
测试与开发版本: 19 / devel
不受支持的版本: 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 / 7.0 / 6.5 / 6.4
测试版PostgreSQL 19 Beta 4 尚未正式发布,内容与行为在正式发布前可能变化。正式内容请看当前版本。

DROP DATABASE

DROP DATABASE — 移除一个数据库

大纲

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

其中 option 可以是:

    FORCE

描述

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

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

参数

IF EXISTS #

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

name #

要移除的数据库名称。

FORCE #

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

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

注解

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

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

兼容性

SQL 标准中没有DROP DATABASE语句。

提交更正

译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游会在正式发布前持续修订。