Массив COPY TEXT от Postgres до снежинки - PullRequest
0 голосов
/ 04 ноября 2019

У меня есть несколько таблиц с полем текстового массива для копирования из Postgres в Snowflake, и я столкнулся с проблемой. Соответствующее поле в Snowflake теперь определено как массив.

Некоторые значения в поле текстового массива в Postgres имеют одну строку сущности без двойных кавычек, как показано ниже (abc в этом примере вызывает ошибку):

{abc, "bc dcd", "de ef fg"}

Это выглядиткак это (abc) не является проблемой в Postgres, но Snowflake не принимает это как допустимое значение. Я использую Python-коннектор Snowflake, и он жалуется, что «ошибка синтаксического анализа JSON». Любой обходной путь это? Я предполагаю, что копирование его в виде текстового поля (а не массива) в Snowflake, скорее всего, решит проблему, но мне интересно, есть ли обходной путь в качестве типа массива.

1 Ответ

0 голосов
/ 05 ноября 2019

Первое значение в массиве выглядит почти как символ, но символы не допускаются в JSON и Snowflake ARRAY s. Я не знаком с PostgreSQL, но он тоже не выглядит как действительный text[]. Может быть, это было как-то преобразовано в [abc, "bc dcd", "de ef fg"]?

Преобразование в текст выглядит хорошим вариантом, но что вы действительно хотите?
Как это использовать?

...