日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

查看表和DB的存儲大小

Hologres兼容PostgreSQL,當前支持查看表或者DB的存儲大小。本文將會為您介紹如何使用SQL語句查看表和DB的存儲大小。

使用限制

  • 僅支持查看內部表的存儲規格大小,不支持直接查看分區父表(查看分區父表返回結果是0),需要指定分區子表進行查看。如果查詢到表的規格大小是0,則返回空值。

  • 僅Hologres V1.3.24及以上版本支持使用pg_relation_size函數查看已經開啟Hologres Binlog表的Binlog存儲量。

  • pg_relation_size函數統計的是表的存儲量,監控指標采集的是實例在整個Pangu目錄的文件存儲量,Pangu文件包括表的存儲量、元數據文件以及因寫入、更新、刪除產生的臨時文件等,因此監控指標的存儲量會稍微多于使用pg_relation_size函數查詢的結果。

查看表的存儲大小

  • 函數語法

    SELECT pg_relation_size('table_name');--返回單位是Byte
  • 參數說明

    參數

    說明

    table_name

    表示待查詢的當前數據庫下的表名稱。

  • 返回值:返回值的單位是 Byte,類型為字符串。返回的數據為該表此刻的內存所占空間和物理磁盤空間。

    如果您需要提高可讀性,可以使用pg_size_pretty函數進行查詢,具體語法如下:

    --查看單表存儲
    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;

查看Schema存儲大小

  • 使用說明

    您可以通過執行SQL語句查看對應schema下面的所有表的大小。

  • 函數語法

    SELECT table_schema, pg_size_pretty(SUM(pg_relation_size(quote_ident(table_schema) || '.' || quote_ident(table_name))::decimal)) AS schema_size
    FROM information_schema.tables 
    WHERE table_schema = '<schema_name>'
    GROUP BY table_schema;
  • 參數說明

    參數

    說明

    schema_name

    表示當前表所對應的schema名稱。

  • 返回值:返回值的單位是 Byte。

查看DB的存儲大小

  • 使用說明

    僅支持查看當前連接DB和該DB下內部表的存儲規格大小。

  • 函數語法

    SELECT pg_database_size(current_database()); --返回單位是Byte
  • 參數說明

    參數

    說明

    current_database

    指代當前DB。您無需替換參數,直接執行函數命令語句即可查詢當前DB的存儲規格大小。

  • 返回值:返回值的單位是Byte。返回的數據為指定DB下面所有Hologres表的大小和DB下面產生的WAL(Write-Ahead Log)日志大小。

    如果您需要提高可讀性,可以使用pg_size_pretty函數進行查詢,具體語法如下:

    SELECT pg_size_pretty(pg_database_size(current_database())); --返回單位是KB或者MB等單位

查看表存儲明細

Hologres從V2.1版本開始,支持通過hologres.hg_relation_size函數查看表的明細存儲,包括數據、Binlog等存儲明細。

  • 使用限制

    僅V2.1及以上版本Hologres實例支持使用hologres.hg_relation_size函數。

  • 函數語法

    SELECT hologres.hg_relation_size('<schema.table>','[data|binlog|mv|all]') ;
  • 參數說明

    參數

    說明

    schema.table

    表的Schema名稱和表名稱。

    [data|binlog|mv|all]

    可選參數,其中:

    • data:表數據的存儲大小。

    • binlog:表Binlog的存儲大小。

    • mv:如果為該表創建了物化視圖,代表物化視圖占用的存儲大小。

    • all:表的總存儲量。

  • 使用示例

    • 示例1:查看單表的數據存儲。

      SELECT hologres.hg_relation_size('<schema.table>','data') ;
    • 示例2:查看單表的Binlog存儲大小。

      SELECT hologres.hg_relation_size('<schema.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;