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

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 7.1 已于 2006 年 4 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本。

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中没有这样的命令。

提交更正

译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。