功能描述
删除一个数据库。
注意事项
- 只有数据库所有者有权限执行DROP DATABASE命令,系统管理员默认拥有此权限。
- 不能对系统默认安装的三个数据库(POSTGRES、TEMPLATE0和TEMPLATE1)执行删除操作,系统做了保护。如果想查看当前服务中有哪几个数据库,可以用gsql的\l命令查看。
- 如果有用户正在与要删除的数据库连接,则删除操作失败。如果要查看当前存在哪些数据库连接,可以通过视图v$session查看。
- 不能在事务块中执行DROP DATABASE命令。
- 确定删除数据库前需要执行“CLEAN CONNECTION TO ALL FORCE FOR DATABASE XXXX;”命令,用于强制停止当前已有的用户连接及后台线程,防止因为有后台线程未完全退出而导致的删库失败问题。此处需要注意,强制停止后台线程可能导致当前数据库数据一致性问题,此命令仅在确定删库阶段执行。
- 如果执行DROP DATABASE失败,事务回滚,需要再次执行一次DROP DATABASE IF EXISTS。
须知:
DROP DATABASE一旦执行将无法撤销,请谨慎使用。
语法格式
DROP DATABASE [ IF EXISTS ] database_name ;
参数说明
-
IF EXISTS
如果指定的数据库不存在,则发出一个notice而不是抛出一个错误。
-
database_name
要删除的数据库名称。
取值范围:字符串,已存在的数据库名称。
示例
请参见CREATE DATABASE的示例。
相关链接
优化建议
-
drop database
不支持在事务中删除database。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
文集目录
暂无数据