0

如何在 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

谢谢,

皮特

4

2 回答 2

1

使用DATABASE_STORAGE_USAGE_HISTORY

此帐户使用情况视图可用于查询帐户中数据库在过去 365 天(1 年)内的平均每日存储使用量(以字节为单位)。数据包括:

SELECT *
FROM snowflake.account_usage.DATABASE_STORAGE_USAGE_HISTORY;

相关:帐户使用和信息架构之间的差异

于 2021-09-16T17:34:36.700 回答
0

这将最多延迟 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 
;
于 2021-09-16T17:43:23.957 回答