↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

支持中的版本: 当前版本 (18) / 17 / 16 / 15 / 14
开发中的版本: 19 / 20devel
已结束支持的版本: 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 7.1 已结束支持。 请参阅 当前版本手册.

DROP DATABASE

DROP DATABASE — 删除一个现有数据库

大纲

DROP DATABASE name
  

输入

name

要删除的现有数据库的名称。

输出

DROP DATABASE

命令成功时返回此消息。

ERROR: user 'username' is not allowed to create/drop databases

你必须拥有特殊的 CREATEDB 权限才能删除数据库。见 CREATE USER 。

ERROR: dropdb: cannot be executed on the template database

template1数据库不能被删除。删除它对你没有好处。

ERROR: dropdb: cannot be executed on an open database

你不能连接在你将要删除的数据库上。请改为连接到template1或任何其他数据库,然后再次运行这条命令。

ERROR: dropdb: database 'name' does not exist

如果指定的数据库不存在,就会出现此消息。

ERROR: dropdb: database 'name' is not owned by you

你必须是数据库的所有者。作为所有者通常也意味着它是你创建的。

ERROR: dropdb: May not be called in a transaction block.

你必须先完成进行中的事务,然后才能调用这条命令。

NOTICE: The database directory 'xxx' could not be removed.

数据库已被删除(除非还出现了其他错误消息),但存储数据的目录无法删除。你必须手动删除它。

描述

DROP DATABASE删除现有数据库的目录项并删除包含数据的目录。它只能由数据库所有者(通常是创建它的用户)执行。

注解

当连接到目标数据库时无法执行这条命令。因此,改用 shell 脚本dropdb可能更方便,它是这条命令的一个包装。

关于如何创建数据库的信息,请参阅 CREATE DATABASE 。

兼容性

SQL92

DROP DATABASE语句是 Postgres的语言扩展;SQL92中没有这样的命令。

报告文档问题

阅读 上游文档. 反馈更正前请先核对 当前版本手册.