0

是否可以在 Snowflake 中选择性地克隆模式?

例如

原来的:

DB_OG
--schema1
--schema2
--schema3

克隆:DB_Clone
--schema1
--schema3

4

2 回答 2

2

CREATE <object> … CLONE语句不支持应用过滤器或模式或多个对象,其行为是递归地克隆下面的每个对象

对于数据库和模式,克隆是递归的:

克隆数据库会克隆数据库中的所有模式和其他对象。

有一些明确的方法可以过滤克隆:

  • 克隆整个数据库,然后使用DROP SCHEMA命令删除不必要的模式
  • 创建一个空数据库并有选择地仅将源数据库所需的模式克隆到其中

上述两者也可以通过嵌入存储过程中的逻辑实现自动化,该存储过程将模式或名称列表作为其输入并运行适当的 SQL 命令。

于 2020-06-15T07:46:17.537 回答
0

目前不支持删除某些模式和克隆数据库的所有其他模式。

如果用例有不需要的模式,是最近创建的模式,您可以使用 AT | BEFORE 子句消除模式(克隆到特定的时间戳,这将消除在提到的时间戳后创建的模式)。

参考:https ://docs.snowflake.com/en/sql-reference/sql/create-clone.html#notes-for-cloning-with-time-travel-databases-schemas-tables-and-streams-only

其他选项包括在克隆操作后删除模式或仅克隆所需的模式

于 2020-06-20T18:09:54.607 回答