# Multixact回收函数
- gs_vacuum_multixact() 描述：回收pg_multixact目录下的offsets和members中的数据文件。
  返回值类型：Boolean
  - 成功回收文件时返回true。
  
  - 无可回收文件时返回false。
  
  
  该函数有如下约束：
  - 本函数仅支持在主DN上执行，或通过EXECUTE DIRECT方式在对应主DN执行回收。
  
  - 仅初始用户或具有sysadmin属性的用户可以调用。
  
  - 不支持在CN上执行手动回收。
  
  
  示例1：无可回收文件返回false。
  ```
  gaussdb=# SELECT gs_vacuum_multixact();
   gs_vacuum_multixact
  ---------------------
   f
  (1 row)
  ```
  示例2：回收文件成功返回true。
  ```
  gaussdb=# SELECT gs_vacuum_multixact();
   gs_vacuum_multixact
  ---------------------
   t
  (1 row)
  ```
  ![](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
  是否可回收的逻辑基于PG_DATABASE系统表的datminmxid计算，某些场景可能导致datminmxid不推进，如：当前库存在全局临时表。由于全局临时表的数据具有会话级隔离特性，VACUUM后台线程无法访问全局临时表的信息，导致该全局临时表的relminmxid字段无法自动推进，最终影响datminmxid无法推进。因此，需要在全局临时表的会话上对所有全局临时表执行"vacuum freeze 表名; "命令，以推进当前全局临时表的relminmxid。
  
 
