版本:latest

段页式空间回收

可获得性

本特性自 openGauss 7.0-RC3 版本开始引入。

特性简介

本特性支持在DELETE和UPDATE段页式表后,通过系统函数回收空间,使表文件占用的存储资源更有效地释放,不影响用户业务的正常运行。

客户价值

  • 提高磁盘空间利用率:释放段尾部的空闲 extent,减少无效磁盘占用,降低存储成本
  • 提升数据库查询和更新性能:回收死元组占用的空间,使查询、索引维护更高效,避免不必要的 I/O
  • 增强openGauss在大规模OLTP场景下的竞争力:解决段页式表在高并发、高更新率 业务中的膨胀问题,提高系统可用性
  • 灵活的部署方式:支持云端 API 调用和本地模型部署

特性描述

支持通过以下系统函数对段页式表进行空间回收:

  • gs_table_shrink(新增):回收段尾部空闲 extent,减少表空间膨胀。
  • gs_space_shrink_compact(新增):将物理文件中文件尾部的正在使用extent移动至前部(挤气泡),使得文件整理排布紧凑,并刷新高水位线,在刷新后高水位满足文件大小规律时执行物理文件收缩(128M对齐)。

特性增强

无。

特性约束

段页式空间回收特性规格约束如下:

  • gs_table_shrink仅支持段页式表,非段页式表报错不支持
  • gs_table_shrink仅支持普通表和分区表,二级分区报错不支持
  • 系统恢复期间、资源池化备机、备集群等场景不允许执行本操作
  • gs_table_shrink、gs_space_shrink_compact系统函数需对表上最高级别排他锁,会影响此时表上的相关业务,业务场景中需寻找合适时机执行本操作
  • gs_space_shrink_compact可能会移动末尾非空extent,从而导致相关索引可能失效,需谨慎使用,建议段页式索引与业务表放在不同表空间管理

依赖关系

无。