You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用SpiceDB+PostgreSQL时,已删除的关系元组何时会被清理?

SpiceDB PostgreSQL存储中已删除Relation Tuple的清理说明

这些标记了deleted_xid的记录不会永久留存,SpiceDB有专门的垃圾回收机制处理这类无效数据:

清理触发时机

  • 自动后台清理:SpiceDB默认运行后台goroutine,定期扫描并清理符合条件的已删除元组,默认周期通常为每小时(可通过配置调整)。
  • 手动强制清理:若需立即清理,可执行SpiceDB内置命令:
    spicedb garbage-collect
    
    该命令会触发全量垃圾回收,清理所有满足条件的无效记录。

清理的判定条件

只有同时满足以下两个条件,标记删除的元组才会被真正删除:

  1. 标记删除的事务(即deleted_xid对应的事务)已提交。
  2. 所有可能依赖该元组的读取事务已完成——这是为了保证事务隔离性,避免读取不一致数据。

存储空间问题应对

短时间内的无效记录堆积通常不会造成严重影响:

  • 合理配置下,自动垃圾回收会定期清理,不会让无效数据无限累积。
  • 若遇到短时间大量删除导致的表膨胀,可:
    • 缩短后台垃圾回收的执行周期。
    • 在业务低峰期手动执行garbage-collect命令。

内容的提问来源于stack exchange,提问作者Lucacox

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 08:22:41