本文為您介紹Hologres表格儲存體函數,您可以使用表格儲存體函數查看內部表的儲存大小。
函數 | 功能 |
查看當前串連的資料庫和該資料庫下內部表的儲存規格大小。 | |
查看錶的儲存大小。 | |
支援查看錶的明細儲存,包括資料、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;