【问题标题】:In Snowflake can I list all databases and their sizes?在雪花中,我可以列出所有数据库及其大小吗?
【发布时间】:2021-11-11 16:41:32
【问题描述】:
如何在 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
谢谢,
皮特
【问题讨论】:
标签:
snowflake-cloud-data-platform
snowflake-schema
snowflake-sql
【解决方案2】:
这将最多延迟 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
;