在Snowflake中,我可以列出所有数据库及其大小吗?



如何在Snowflake中列出所有数据库的大小。

我能看到的最接近的是Snowflake文档DATABASE_STORAGE_USAGE_HISTORY

select *
from table(information_schema.database_storage_usage_history(dateadd('days',-10,current_date()),current_date()));

我只想要一个这样的列表

数据库名大小(GB)

MyDB1 10.5

HisDB2 21.3

HerDB3 17.8

谢谢,皮特

Using DATABASE_STORAGE_USAGE_HISTORY:

This Account Usage view可用于查询帐户下数据库的平均每日存储使用量(以字节为单位)。过去365天(1年)。数据包括:

SELECT *
FROM snowflake.account_usage.DATABASE_STORAGE_USAGE_HISTORY;

相关:Account Usage和Information Schema之间的差异

这将延迟3个小时,因为它作为数据共享从Snowflake共享回来。还有其他获取信息的方法,但是对于当前状态,TABLE_STORAGE_METRICS提供了更多关于时间旅行、故障安全等的信息。

select      DATABASE_NAME
,sum(ACTIVE_BYTES / 1000000000) ACTIVE_GB
,sum(TIME_TRAVEL_BYTES / 1000000000) TIME_TRAVEL_GB
,sum(FAILSAFE_BYTES / 1000000000) FAILSAFE_GB
,sum(RETAINED_FOR_CLONE_BYTES / 1000000000) RETAINED_FOR_CLONE_GB
,ACTIVE_GB+TIME_TRAVEL_GB+FAILSAFE_GB+RETAINED_FOR_CLONE_GB TOTAL_GB
from SNOWFLAKE.ACCOUNT_USAGE.DATABASES D
left join SNOWFLAKE.ACCOUNT_USAGE.TABLE_STORAGE_METRICS T
on D.DATABASE_ID  = T.TABLE_CATALOG_ID
where   D.DELETED is null
group by DATABASE_NAME
order by DATABASE_NAME 
;

最新更新