
# DROP DATABASE
#### 功能描述
删除一个数据库。
#### 注意事项
- 只有数据库所有者或者被授予了数据库DROP权限的用户有权限执行DROP DATABASE命令，系统管理员默认拥有此权限。
- 不能对系统默认安装的三个数据库（POSTGRES、TEMPLATE0和TEMPLATE1）执行删除操作，系统做了保护。如果想查看当前服务中有哪几个数据库，可以用gsql的\\l命令查看。
- 如果有用户正在与要删除的数据库连接，则删除操作失败。如果要查看当前存在哪些数据库连接，可以通过视图DV_SESSIONS查看。
- 不能在事务块中执行DROP DATABASE命令。
- 确定删除数据库前需要执行"CLEAN CONNECTION TO ALL FORCE FOR DATABASE XXXX;"命令，用于强制停止当前已有的用户连接及后台线程，防止因为有后台线程未完全退出而导致的删库失败问题。此处需要注意，强制停止后台线程可能导致当前数据库数据一致性问题，此命令仅在确定删库阶段执行。
- 如果执行DROP DATABASE失败，事务回滚，需要再次执行一次DROP DATABASE IF EXISTS。
![](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/public_sys-resources/notice_3.0-zh-cn.png)
DROP DATABASE一旦执行将无法撤销，请谨慎使用。
#### 语法格式
```
DROP DATABASE [ IF EXISTS ] database_name ;
```
#### 参数说明
- **IF EXISTS**
  如果指定的数据库不存在，则发出一个notice而不是抛出一个错误。
  
- **database_name**
  要删除的数据库名称。
  取值范围：字符串，已存在的数据库名称。
  
 
#### 示例
请参见CREATE DATABASE的[示例](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/gaussdb-12-0514.html#ZH-CN_TOPIC_0000002200350050__zh-cn_topic_0000002235219497_zh-cn_topic_0059778277_s6be7b8abbb4b4aceb9dae686434d672c)。
#### 相关链接
[CREATE DATABASE](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/gaussdb-12-0514.html#ZH-CN_TOPIC_0000002200350050)
#### 优化建议
- DROP DATABASE 不支持在事务中删除DATABASE。
  
 
