
# DROP EXTENSION
#### 功能描述
当前不支持用户使用此语法。删除一个扩展。该特性为内部使用，不建议用户使用。
#### 注意事项
- DROP EXTENSION 命令从数据库中删除一个扩展。 在删除扩展的过程中，构成扩展的组件也会一起删除。
- 必须是扩展的拥有者才能够使用DROP EXTENSION命令。
 
#### 语法格式
```
DROP EXTENSION [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ];
```
#### 参数说明
- **IF EXISTS**
  当使用IF EXISTS参数，如果扩展不存在时，不会抛出错误，而是产生一个通知。
  
- **name**
  已经安装的扩展模块的名称。
  
- **CASCADE**
  自动删除依赖于该扩展的对象。
  
- **RESTRICT**
  如果有依赖于扩展的对象，则不允许删除此扩展（除非它所有的成员对象和其它扩展对象在一条 DROP命令一起删除）。 这是缺省行为。
  
 
#### 示例
从当前数据库中删除扩展plpgsql，plpgsql为数据库默认创建extension。
```
m_db=# DROP EXTENSION IF EXISTS plpgsql;
```
在当前数据库中，如果有使用plpgsql的对象的，这条命令就会失败，比如任一表中的字段使用plpgsql类型。这时增加CASCADE选项会强制删除扩展和依赖于扩展的对象。
#### 相关链接
[ALTER EXTENSION](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-81-0049.html#ZH-CN_TOPIC_0000002527965400)，[CREATE EXTENSION](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-81-0071.html#ZH-CN_TOPIC_0000002558925199)
