将文本数组从 Postgres 复制到 Snowflake

kee*_*kee 5 sql postgresql snowflake-cloud-data-platform

我有一些带有文本数组字段的表要从 Postgres 复制到 Snowflake,但遇到了问题。Snowflake 中的相应字段现在定义为数组。

Postgres 中文本数组字段中的某些值具有单个实体字符串,周围没有双引号,如下所示(本示例中的 abc 导致错误):

{abc, "bc dcd", "de ef fg"}
Run Code Online (Sandbox Code Playgroud)

看起来这个 (abc) 在 Postgres 中不是问题,但 Snowflake 不接受它作为有效值。我正在使用 Snowflake Python 连接器,它抱怨“JSON 解析错误”。有什么解决办法吗?我想将其复制为 Snowflake 中的文本字段(而不是数组)可能会解决该问题,但我想知道数组类型是否有任何解决方法。

Rob*_*ong 0

解决此问题的一种解决方案是,如果您to_jsonb在 Postgres 中使用,它将在 Snowflake 中暂存之前将相关列转换为 JSON。