全部產品
Search
文件中心

Hologres:表格儲存體函數

更新時間:Mar 21, 2025

本文為您介紹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以下版本,您可以進行執行個體升級或加入HologresDingTalk交流群反饋,詳情請參見如何擷取更多的線上支援?

    • 僅支援查看內部表的儲存規格大小,不支援直接查看分區父表,需要指定分區子表進行查看。

  • 參數說明

    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以下版本,您可以進行執行個體升級或加入HologresDingTalk交流群反饋,詳情請參見如何擷取更多的線上支援?

  • 參數說明

    • 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;