获取超表或连续聚合使用的近似总磁盘空间,即表本身(包括数据块)、表上的任何索引以及任何 TOAST 表的大小的总和。大小以字节为单位报告。这等效于计算 hypertable_approximate_detailed_size 函数输出中 total_bytes 列的总和。

当提供连续聚合名称时,该函数会透明地查找后备超表并返回其统计信息。

注意

此函数依赖于使用内置 PostgreSQL 存储管理器层的每个后端缓存来廉价地计算近似大小。当 DML 发生到数据块中时,PG 缓存失效会清除数据块的缓存大小。因此,该大小缓存能够在几分钟内获得最新大小。此外,由于后端缓存,任何长时间运行的会话都只会获取新的或修改过的数据块的最新数据,并且可以有效地使用旧数据块的缓存数据(第一次计算时会重新计算)。因此,建议使用单个连接的 postgres 后端会话来计算超表的近似大小,以获得更快的结果。

有关使用超表的更多信息,包括数据块大小分区,请参阅超表部分

名称类型描述
hypertableREGCLASS要显示大小的超表或连续聚合。
名称类型描述
hypertable_approximate_sizeBIGINT指定超表使用的总近似磁盘空间,包括所有索引和 TOAST 数据
注意

如果在非超表关系上执行该函数,则返回 NULL

获取超表的近似大小信息。

SELECT * FROM hypertable_approximate_size('devices');
hypertable_approximate_size
-----------------------------
8192

获取所有超表的近似大小信息。

SELECT hypertable_name, hypertable_approximate_size(format('%I.%I', hypertable_schema, hypertable_name)::regclass)
FROM timescaledb_information.hypertables;

获取连续聚合的近似大小信息。

SELECT hypertable_approximate_size('device_stats_15m');
hypertable_approximate_size
-----------------------------
8192

关键词

在此页面发现问题?报告问题 或 在 GitHub 上编辑此页