# 删除残留文件函数
#### pg_rm_residualfiles(filepath)
描述：用于删除当前实例中指定残留文件列表中的文件。该函数为实例级函数，与当前所在的数据库无关，可以在任意实例上运行。
参数类型：text
返回值类型：record
函数返回字段如下：
表1pg_rm_residualfiles(filepath)返回字段 
| 名称   | 类型  | 描述       |
|:---|:---|:---|
| result | bool | 是否已经完成删除。 |
   
示例：
```
SELECT * FROM pg_rm_residualfiles('pgrf_20200908160211441599');
 result 
--------
 t
(1 row)
```
![](https://support.huaweicloud.com/sqlreference-911-dws/public_sys-resources/note_3.0-zh-cn.png)
- 残留文件只有在调用pg_verify_residualfiles()进行验证后才能被真正删除。
- 删除动作不区分数据库，指定文件中所有已经验证的文件都会被删除。
- 如果指定文件中记录的所有文件都已经被删除，指定文件会被移除并备份到$PGDATA/pg_residualfile/backup目录下。
 
#### pg_rm_residualfiles()
描述：用于删除当前实例中所有的残留文件列表中的文件。该函数为实例级函数，与当前所在的数据库无关，可以在任意实例上运行。
参数类型：无
返回值类型：record
函数返回字段如下：
表2pg_rm_residualfiles()返回字段 
| 名称       | 类型   | 描述        |
|:---|:---|:---|
| result  | bool  | 是否已经完成删除。  |
| filepath | text | 残留文件记录路径。 |
| notes   | text | 注释。       |
   
示例：
```
SELECT * FROM pg_rm_residualfiles();
 result |         filepath          | notes 
--------+---------------------------+-------
 t      | pgrf_20200908160211441546 | 
(1 row)
```
![](https://support.huaweicloud.com/sqlreference-911-dws/public_sys-resources/note_3.0-zh-cn.png)
- 残留文件只有在调用pg_verify_residualfiles()进行验证后才能被真正删除。
- 删除动作不区分数据库，指定文件中所有已经验证的文件都会被删除。
- 如果指定文件中记录的所有文件都已经被删除，指定文件会被移除并备份到$PGDATA/pg_residualfile/backup目录下。
 
#### pgxc_rm_residualfiles()
描述：pgxc_rm_residualfiles的CN统一查询函数。该函数为集群级函数，与当前所在的数据库无关，在CN实例上运行。
参数类型：无
返回值类型：record
函数返回字段如下：
表3pgxc_rm_residualfiles()返回字段 
| 名称     | 类型    | 描述        |
|:---|:---|:---|
| nodename | text | 节点名。      |
| result  | bool  | 是否已经完成删除。 |
| filepath | text    | 残留文件记录路径。  |
| notes  | text   | 注释。       |
   
示例：
```
SELECT * FROM pgxc_rm_residualfiles();
   nodename   | result |         filepath          | notes 
--------------+--------+---------------------------+-------
 cn_5001      | t      | pgrf_20200910170129360401 | 
 dn_6001_6002 | t      | pgrf_20200908160211441546 | 
(2 rows)
```
#### pgxc_clear_disk_cache()
描述：用于完全清理磁盘缓存文件。该函数仅9.0.2及以上集群版本支持。
返回值类型：void
示例：
```
SELECT pgxc_clear_disk_cache();
 pgxc_clear_disk_cache
-----------------------
(1 row)
```
#### pgxc_clear_ttl_cache(clearAll)
描述：用于清理TTL队列使用的磁盘缓存文件。该函数仅9.1.1.100及以上集群版本支持。
- 入参为true时，清理整个TTL队列占用的磁盘缓存文件。
- 入参为false时，仅清理TTL当前已经失效的磁盘缓存文件。
返回值类型：void
示例：
```
SELECT pgxc_clear_ttl_cache(true);
 pgxc_clear_ttl_cache
-----------------------
(1 row)
SELECT pgxc_clear_ttl_cache(false);
 pgxc_clear_ttl_cache
-----------------------
(1 row)
```
