表存储函数

更新时间:2025-03-20 06:08:00

本文为您介绍Hologres表存储函数,您可以使用表存储函数查看内部表的存储大小。

函数

功能

函数

功能

PG_DATABASE_SIZE

查看当前连接的数据库和该数据库下内部表的存储规格大小。

PG_RELATION_SIZE

查看表的存储大小。

HOLOGRES.HG_RELATION_SIZE

支持查看表的明细存储,包括数据、Binlog等存储明细。

PG_DATABASE_SIZE

  • 描述:查看当前连接的数据库和该数据库下内部表的存储规格大小。

    SELECT PG_DATABASE_SIZE('database_name');
  • 参数说明

    database_name:必填,当前数据库名称。

  • 返回值说明

    返回当前数据库下面所有表的大小和数据库下面产生的WAL(Write-Ahead Log)日志大小。

  • 示例

    SELECT PG_SIZE_PRETTY(PG_DATABASE_SIZE(CURRENT_DATABASE())); 

PG_RELATION_SIZE

  • 描述:查看表的存储大小。

    SELECT PG_RELATION_SIZE('table_name');

    PG_RELATION_SIZE函数统计的是表的存储量,监控指标采集的是实例在整个Pangu目录的文件存储量,Pangu文件包括表的存储量、元数据文件以及因写入、更新、删除产生的临时文件等,因此监控指标的存储量会稍微多于使用PG_RELATION_SIZE函数查询的结果。

  • 使用限制

    • Hologres V1.3.24及以上版本支持使用该函数查看已经开启Hologres Binlog表的Binlog存储量。

      说明

      如果您的实例是V1.3.24以下版本,您可以进行实例升级或加入Hologres钉钉交流群反馈,详情请参见如何获取更多的在线支持?

    • 仅支持查看内部表的存储规格大小,不支持直接查看分区父表,需要指定分区子表进行查看。

  • 参数说明

    table_name:待查看的表名称。

  • 返回值说明

    • 返回的数据为该表此刻的内存所占空间和物理磁盘空间,返回的数据类型为字符串类型。

    • 未指定分区子表,直接查看分区父表,则返回0。

    • 如果查询到表的存储规格大小是0,则返回空值。

  • 示例

    以下示例使用通用聚合函数的示例数据

    • 查看单表存储

      --查看单表存储
      SELECT PG_SIZE_PRETTY(PG_RELATION_SIZE('example_table'));
    • 查看所有表的存储大小

      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.HG_RELATION_SIZE

  • 描述:支持查看表的明细存储,包括数据、Binlog等存储明细。

    SELECT HOLOGRES.HG_RELATION_SIZE('schema.table'[, 'type']) ;
  • 使用限制

    Hologre V2.1及以上版本支持使用该函数。

    说明

    如果您的实例是V2.1以下版本,您可以进行实例升级或加入Hologres钉钉交流群反馈,详情请参见如何获取更多的在线支持?

  • 参数说明

    • schema.table:表的Schema名称和表名称。

    • type:可选,取值说明如下:

      • data:查看表数据的存储大小。

      • binlog:查看表Binlog的存储大小。

      • mv:如果为该表创建了物化视图,查看物化视图占用的存储大小。

      • all:查看表的总存储量。

  • 示例

    以下示例使用通用聚合函数的示例数据

    • 示例1:查看单表的数据存储。

      SELECT HOLOGRES.HG_RELATION_SIZE ('public.example_table', 'data');
    • 示例2:查看单表的Binlog存储大小。

      SELECT HOLOGRES.HG_RELATION_SIZE ('public.example_table', 'binlog');
    • 示例3:查看数据库下所有表的存储大小。

      SELECT table_schema || '.' || table_name AS table_full_name, 
      pg_size_pretty(hologres.hg_relation_size(quote_ident(table_schema) || '.' || quote_ident(table_name),'data')) AS data_size,
      hologres.hg_relation_size(quote_ident(table_schema) || '.' || quote_ident(table_name),'data') AS  order_size
      FROM information_schema.tables
      WHERE table_schema NOT IN ('pg_catalog','information_schema','hologres','hologres_statistic')
      ORDER BY order_size DESC;
  • 本页导读 (1)
  • PG_DATABASE_SIZE
  • PG_RELATION_SIZE
  • HOLOGRES.HG_RELATION_SIZE