У меня есть несколько таблиц с полем текстового массива, которые нужно скопировать из Postgres в Snowflake, и я столкнулся с проблемой. Соответствующее поле в Snowflake теперь определяется как массив.
Некоторые значения в поле текстового массива в Postgres содержат одну строку объекта без двойных кавычек, как показано ниже (abc в этом примере вызывает ошибку):
{abc, "bc dcd", "de ef fg"}
Похоже, что это (abc) не проблема в Postgres, но Snowflake не принимает его как допустимое значение. Я использую коннектор Snowflake Python, и он жалуется на «ошибку синтаксического анализа JSON». Какое-нибудь обходное решение? Я предполагаю, что копирование его как текстового поля (не массива) в Snowflake, скорее всего, решит проблему, но мне интересно, есть ли какое-либо обходное решение в качестве типа массива.
text[]
илиjson
? - person a_horse_with_no_name   schedule 04.11.2019ARRAY
s. Я не знаком с PostgreSQL, но он тоже не похож на действительныйtext[]
. Может он как-то трансформировался в[abc, "bc dcd", "de ef fg"]
? Преобразование в текст выглядит неплохим вариантом, но чего вы действительно хотите? ‹Br› Как это использовать? - person Hans Henrik Eriksen   schedule 05.11.2019{...}
, а не квадратные скобки. Но в любом случае: вы можете использоватьto_jsonb(the_column)
, чтобы преобразовать это в действительный массив JSON - person a_horse_with_no_name   schedule 05.11.2019