# DROP FOREIGN DATA WRAPPER
#### 功能描述
从数据库中删除一个外部数据封装器。
#### 注意事项
- 只有在GUC参数support_extended_features设置为on时，才能成功执行该操作。
- 只有在内部初始化阶段或升级脚本中可以删除外部数据封装器，其他场景下用户无法直接使用该语法。
 
#### 语法格式
```
DROP FOREIGN DATA WRAPPER [ IF EXISTS ] name [ CASCADE | RESTRICT ];
```
![](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/figure/zh-cn_image_0000002764469446.png "点击放大")
#### 参数说明
- **IF EXISTS**
  判断指定的外部数据封装器是否存在。
  - 如果指定的外部数据封装器存在，则删除成功。
  
  - 如果指定的外部数据封装器不存在，不会进行删除操作，仅产生一个NOTICE提示，用于告知指定的外部数据封装器不存在。
   

- **name**
  已存在的外部数据封装器的名称。
  

- **CASCADE** **\|** **RESTRICT**
  可选，是否级联删除依赖于该外部数据封装器的对象。未指定时，默认为RESTRICT。
  - CASCADE：级联删除依赖外部数据封装器的对象（如服务器）。
  
  - RESTRICT：如果有依赖于外部数据封装器的对象，则不允许删除外部数据封装器。
   
 
#### 示例
```
--创建一个外部数据封装dbi。
gaussdb=# CREATE FOREIGN DATA WRAPPER dbi OPTIONS (bar 'true');
--删除外部数据封装器dbi。（前置条件：需确认GUC参数support_extended_features=on）
gaussdb=# DROP FOREIGN DATA WRAPPER dbi;
```
#### 相关链接
[CREATE FOREIGN DATA WRAPPER](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/gaussdb-08-0247.html)，[ALTER FOREIGN DATA WRAPPER](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/gaussdb-08-0188.html)
