如何统计冷存数据

本文介绍统计冷存数据的最佳实践。

场景描述

表、索引转存至冷存过程中会进行压缩,所以存储在冷存中的数据相比在云盘上的存储空间也会减少,其统计的规则也会发生变化,PolarDB PostgreSQL版(兼容Oracle)提供了冷存数据存储空间统计函数,用户可以通过统计函数了解数据的使用情况。

创建扩展

CREATE EXTENSION IF NOT EXISTS polar_osfs_toolkit;

函数介绍

polar_osfs_relation_size

该函数返回指定表或索引的实际数据大小(即“堆”或“B树”结构),不包括其他附加组件。当你只关心表本身或某个索引的基础数据在OSS上占用的空间时,使用此函数,功能上与本地盘存储的pg_relation_size函数对应。

语法

bigint polar_osfs_relation_size(cstring relname);

参数

参数名称

描述

relname

表或索引名称

polar_osfs_table_size

此函数返回指定表(不包括其索引)在OSS上所占用的总空间,包括表数据本身、TOAST 数据以及任何相关的 free space map (FSM) 和 visibility map (VM) 文件,功能上与本地盘存储的pg_table_size函数对应。

语法

bigint polar_osfs_table_size(cstring relname);

参数

参数名称

描述

relname

表或索引名称

polar_osfs_total_relation_size

这个函数返回指定表及其所有相关索引在OSS上所占用的总空间。它是 polar_osfs_table_size()结果与表所有索引所占空间之和,功能上与本地盘存储的pg_total_relation_size函数对应。

语法

bigint polar_osfs_table_size(cstring relname);

参数

参数名称

描述

relname

表或索引名称