在Hologres中,你可以使用pg_database_size()
函数来查询当前数据库的大小。此外,如果你需要查看每个表的文件数和占用磁盘大小,可以使用如下SQL语句:
SELECT db_name, schema_name, table_name, cold_storage_size + hot_storage_size as total_storage_size, cold_file
FROM hologres.hg_table_properties WHERE table_type = 'BASE TABLE' AND database_name = current_database();
这条命令会返回当前数据库下每个表的名称、存储总大小以及文件数量。请注意,仅支持查看内部表的存储规格大小,不支持直接查看分区父表,需要指定分区子表进行查看。如果查询到表的规格大小是0,则返回空值。
可以使用pg_size_pretty函数进行查询,具体语法如下:https://help.aliyun.com/zh/hologres/user-guide/query-the-storage-sizes-of-tables-and-databases?spm=a2c4g.11186623.0.i90
--查看单表存储
SELECT pg_size_pretty(pg_relation_size('table_name'));
--查看所有表大小
SELECT table_schema || '.' || table_name AS table_full_name,
pg_size_pretty(pg_relation_size(quote_ident(table_schema) || '.' || quote_ident(table_name))) AS table_size,
pg_relation_size(quote_ident(table_schema) || '.' || quote_ident(table_name)) AS order_size
FROM information_schema.tables
WHERE table_schema NOT IN ('pg_catalog','information_schema','hologres')
ORDER BY order_size DESC;
阿里云Hologres作为实时数仓和交互式分析服务,查询库表大小的方法可以通过其提供的系统视图来实现。查询Hologres中表的大小可以参考以下步骤:
登录到Hologres的客户端(如DataWorks、JDBC/ODBC驱动程序连接的客户端工具等)。
使用系统视图pg_statistic_ext
或pg_total_relation_size()
函数来获取表占用的空间大小。但请注意,具体的查询语句可能会随着Hologres版本更新有所变化,请查阅最新的官方文档以获得准确信息。
例如,对于Hologres中的某个具体表table_name
,可以尝试使用类似下面的SQL语句查询其总空间占用大小:
SELECT pg_total_relation_size('schema_name.table_name') AS table_size;
这里pg_total_relation_size
函数会返回指定表及其所有索引等关联对象所占总的磁盘空间大小。如果需要查看当前数据库下所有表的大小,则可能需要结合查询information_schema.tables
和其他系统视图进行遍历。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
本技术圈将为大家分析有关阿里云产品Hologres的最新产品动态、技术解读等,也欢迎大家加入钉钉群--实时数仓Hologres交流群32314975