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
删除一个现存数据库的目录入口并且删除包含数据的目录.只有数据库所有者能够执行这条命令(通常也是数据库创建者).
注意
这条命令在和目标数据库联接时不能执行.通常更好的做法是用
dropdb
脚本代替,该脚本是此命令的一个封装。
请参考 CREATE DATABASE
语句获取如何创建数据库的信息.
兼容性
SQL92
DROP DATABASE 是一个 Postgres
语言的扩展.在 SQL92 中没有 DROP DATABASE.