如何查询Snowflake指定数据库的Time Travel数据保留时长
Snowflake数据库级Time Travel数据保留周期查询方法
你已知的账户级查询逻辑完全可以复用到数据库级别,只需要调整SHOW PARAMETERS语句的作用域即可,以下是两种常用查询方式:
单库精准查询
直接将语句中的作用域从account替换为目标数据库即可,执行前把占位符替换为实际要查询的库名:SHOW PARAMETERS LIKE '%DATA_RETENTION_TIME_IN_DAYS%' IN DATABASE <你要查询的目标数据库名>;返回结果中的
value字段,就是当前数据库设置的Time Travel保留天数。如果该值和你之前查到的账户级默认值不同,代表这个数据库做了自定义配置,库下未单独设置保留规则的Schema、表会优先继承这个数据库级的配置。批量查询所有数据库配置
如果需要一次性查看账号下所有数据库的保留周期设置,可以直接查询系统内置视图,无需逐个库执行语句:SELECT DATABASE_NAME, RETENTION_TIME AS DATA_RETENTION_TIME_IN_DAYS FROM INFORMATION_SCHEMA.DATABASES;该语句会返回当前角色有权限访问的所有数据库的保留天数,适合批量巡检场景。
补充说明:Snowflake Time Travel保留期的参数生效优先级为 表/视图级 > Schema级 > 数据库级 > 账户级,数据库级的配置仅对库下未单独设置保留规则的下层对象生效。
内容的提问来源于stack exchange,提问作者Spencer W
相关产品推荐
相关产品推荐

