文档 / SQL 命令 / 数据库、模式与表空间
SQL COMMAND · 数据库、模式与表空间
DROP DATABASE
移除一个数据库
DROP数据库、模式与表空间引入 10(基线)现存至 20 devel1 次语法变更
- 动词
DROP- 对象
DATABASE- 引入版本
- 10(基线)
- 状态
- 现存
- 语法变更次数
- 1
- 手册小节数
- 5
版本轨迹
相对 PostgreSQL 17 无变化。
语法铁道图 PostgreSQL 18
沿轨道从左向右阅读,分岔表示选择,绕行表示可选,回环表示重复。方框为参数,点击带下划线的参数可展开子规则。
option
语法概要
DROP DATABASE [ IF EXISTS ]name[ [ WITH ] (option[, ...] ) ] 其中option可以是: FORCE
描述
DROP DATABASE删除一个数据库。它会移除该数据库的系统目录条目, 并删除包含数据的目录。只有数据库拥有者才能执行此命令。 连接到目标数据库时不能执行此命令。 (请连接到postgres或任何其他数据库来发出此命令。) 另外,如果还有其他人连接到目标数据库,除非使用下面描述的 FORCE选项,否则该命令将失败。
DROP DATABASE无法撤销。请谨慎使用!
参数
IF EXISTS如果该数据库不存在,则不要抛出错误。这种情况下会发出一个提示。
name要移除的数据库名称。
FORCE尝试终止所有现有的、连接到目标数据库的连接。如果目标数据库中存在 预备事务、活动的逻辑复制槽或订阅,则不会终止这些连接。
这会终止后台工作进程连接,以及当前用户有权使用
pg_terminate_backend终止的连接,该函数见 Section 9.28.2。如果仍有连接保留,该命令将失败。
注解
DROP DATABASE不能在事务块内执行。
由于该命令不能在连接到目标数据库时执行,因此改用程序 dropdb可能更方便,它是此命令的一个包装器。
兼容性
SQL 标准中没有DROP DATABASE语句。
另见
语法演化
相邻大版本之间的差异,新的在前。版本号链接到对应快照。
PostgreSQL 19← 18正文更新
正文更新PostgreSQL 17← 16正文更新
正文更新PostgreSQL 13← 12语法变化
+ DROP DATABASE [ IF EXISTS ] name [ [ WITH ] ( option [, ...] ) ]++ 其中 option 可以是:++ FORCE− DROP DATABASE [ IF EXISTS ] name正文更新
同组命令
| 命令 | 动词 | 对象 | 版本变动 | 最近变更 |
|---|---|---|---|---|
CREATE DATABASE | CREATE | DATABASE | 142 次 | |
| 创建一个新数据库 | 现存 | |||
ALTER DATABASE | ALTER | DATABASE | 141 次 | |
| 更改一个数据库 | 现存 | |||
DROP DATABASE | DROP | DATABASE | 131 次 | |
| 移除一个数据库 | 现存 | |||
CREATE SCHEMA | CREATE | SCHEMA | 141 次 | |
| 定义一个新模式 | 现存 | |||
ALTER SCHEMA | ALTER | SCHEMA | 141 次 | |
| 更改一个模式的定义 | 现存 | |||
DROP SCHEMA | DROP | SCHEMA | — | |
| 移除一个模式 | 现存 | |||
CREATE TABLESPACE | CREATE | TABLESPACE | 141 次 | |
| 定义一个新表空间 | 现存 | |||
ALTER TABLESPACE | ALTER | TABLESPACE | 141 次 | |
| 更改一个表空间的定义 | 现存 | |||
DROP TABLESPACE | DROP | TABLESPACE | — | |
| 移除一个表空间 | 现存 | |||