PostgreSQL7.0手册-用户手册-19. SQL命令-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.